WoodyLabBuild with UIMS

Guida · Estendere

Un componente tuo nel registro

Una riga in un oggetto. Da quel momento un viewMode può nominarlo, e il motore lo disegna come disegna i suoi.

Dove siamo

Hai visto che un viewMode nomina un componente per chiave. Alla fine di questo capitolo quella chiave potrà essere tua.

Il gesto

Apri src/uimsContext.ts. C’è un oggetto con i componenti del pacchetto.

Aggiungi il tuo accanto agli altri.

Crea un viewMode che lo nomina in component. Ricarica.

const uiComponents = { ...uimsComponents, MiaCard }

Cos’è appena successo

Il registro è una mappa da nome a componente, e il motore non sa nient’altro di quello che ci metti. Per questo aggiungerne uno non richiede di toccare il pacchetto: il punto di estensione è un oggetto nel progetto, non un file da modificare a monte.

Il contratto è il descrittore: il tuo componente riceve { ui, slots, items, data } come tutti gli altri. ui porta le classi e il tag decisi dal viewMode, slots i figli già renderizzati per apertura, data i dati di dominio.

Rispettare quel contratto è ciò che rende il tuo componente indistinguibile dagli altri: può essere vestito da viewMode diversi, ricevere slot, ed essere sostituito senza che chi lo cita se ne accorga.

Quando non funziona

Registra il componente e scrivi male la chiave nel viewMode. Il resolver non trova il componente e il blocco cade sul fallback.

Se invece ignori slots dentro il componente, i figli esistono e non compaiono: sono stati renderizzati e consegnati a un componente che non li dispone.

Avanti

Puoi disegnare cose tue. Nel capitolo dopo decidi tu come un tipo di blocco diventa un descrittore.

Un componente tuo nel registro · WoodyLab