@composi/runtime:
Init
Preparar para el Inicio
Cuando pasas un programa a la función run
, el entorno de ejecución toma el valor devuelto por el método init
para usarlo para configuracón. Si su programa tiene estado, entonces el método init
tiene que devolverlo. El estado que init
devuele puede ser cualquier dato vålido de JavaScript: null, undefined, strin, number, Array, Set, Map, Object, etc.
const program = {
init() {
return estado
},
view(estado, send) {},
update(estado, msj send) {}
subscriptions(send, getState) {}
}
Cuando quieres operar un efecto durante el inicio del programa, siempre va a ser el segundo valor en el vector que devuelve init:
Tal vez te preguntes por qué se puede tener estado con value de null
or undefined
. Supone que en las suscripciones del programa vas a obtener los datos de algún lugar para usar como el estado del programa. Ésto significa que no tendrás los datos a tiempo para retornarlos en el init
. En vez, puedes devolver null en el init
. O podrías dejar el init
vacío, sin nada. En ambos casos vas a tener que chequear el valor del estado antes de usar la función render
en el
const program = {
init() {
return estado
},
// Chequear que el estado tiene valor:
view(estado, send) {
return estado && render(<List {...{estado, send}}/>, '#lista')
},
update(estado, msj, send) {
},
subscriptions(send, getState) {
// Obtener datos para el estado:
return conseguirDatosParaEstado(send, getState)
}
}
Aquí está un ejemplo sencillo de Hola Mundo:
See the Pen @composi/core + runtime Hola Mundo by Robert Biggs (@rbiggs) on CodePen.