WoodyLabBuild with UIMS

Guida · Lo stato

Legare una proprietà allo stato

Non un evento che accade: una proprietà che segue. Il blocco non reagisce, rispecchia.

Dove siamo

Sai far succedere le cose quando qualcosa cambia. Alla fine di questo capitolo una proprietà seguirà lo stato senza che nessun evento debba scattare.

Il gesto

Nel uiState.bindings di un blocco aggiungi una riga.

Scegli la prop da guidare e il mode: bind:when per una condizione, bind:path per prendere un valore diretto.

Salva, ricarica, cambia lo stato.

// il uiState di un blocco, in Payload
{
  "uiState": {
    "bindings": [
      { "prop": "aperto", "mode": "when",
        "when": { "path": "activeSectionId", "op": "eq", "value": "{{self.id}}" } }
    ]
  }
}

Cos’è appena successo

Un evento dice «è successo qualcosa, adesso fai». Un binding dice «questa proprietà vale questo, sempre». Il primo è un momento, il secondo è una relazione.

La differenza pratica si vede quando la pagina si carica: un blocco guidato da eventi parte dal suo valore di default e aspetta che qualcosa scatti, uno guidato da un binding è già coerente con lo stato al primo render.

Il token {{self.id}} è quello che rende la stessa riga riusabile su blocchi diversi: la condizione non nomina un nodo, nomina «me».

Quando non funziona

Lega una prop che il componente non ha. Non succede niente e non c’è un avviso: il valore viene calcolato e consegnato a nessuno.

Come sempre, il primo controllo è il nome — e i nomi delle prop di un componente stanno nella documentazione, non nel binding.

Avanti

Ultimo pezzo della parte: quello che rende visibile un cambio di stato invece di limitarsi a farlo.

Legare una proprietà allo stato · WoodyLab