const $externalStore = createStore(null)
const externalEvent = createEvent()
const externalFx = createEffect()
const someModel = model({
props: {
inlineValue: 0,
externalValue: $externalStore,
trigger: externalEvent,
inlineFx: async () => null,
externalFx: externalFx,
},
create({
inlineValue,
$externalValue,
trigger,
inlineFx,
externalFx,
}, {onMount}) {
const $outputValue = createStore(null)
const outputTrigger = createEvent()
const outputFx = createEffect()
sample({clock: onMount, target: outputTrigger})
return {
state: {
$outputValue,
},
api: {
outputTrigger,
outputFx,
}
}
}
})
Объект, описывающий принимаемые моделью параметры, используется чтобы сразу заполнить первый аргумент при вызове тела модели.
Варианты передаваемых объектов:
функция тела модели.
Принимает два аргумента:
Возвращает:
state
передаётся объект со сторами, который станут состоянием модели, в api
передаётся объект с эвентами и эффектами, они станут публичным api для управления моделью