假设我有这样的嵌套 Elmish 组件:Acontains Bcontains C。
然后如果C有状态和消息,这些必须从 to 传递C到B然后 to A。
例如,消息和模型类型B可能是:
type Message =
| CMessage of C.Message
| UpdateFoo of string
type Model =
{
Foo : string
C : C.Model
}
然后updateforB会做一些路由:
let update message model =
match message with
| CMessage m ->
{
model with
C = C.update m model.C
}
| UpdateFoo foo -> { model with Foo = foo }
然后必须为A消费B消息做同样的事情。
setState例如,与 相比,这非常冗长。
在 Elmish 中管理此问题的一些策略是什么?