在 MobX 状态树中,如何定义具有动态类型的属性?例如:可以分配给任何类型..如整数、字符串、布尔值、对象等
任何想法?在 MST 中定义类型是强制性的吗?
在这种情况下,最好使用联合
myModel = types.model({
title: types.string,
dynamicProperty: types.union(
types.number,
types.string,
types.boolean,
types.model({
anotherProperty: types.string
}),
testModel
)
})
testModel = types.model({})
dynamicProperty
可以是字符串、数字、布尔值或内部定义的模型实例,也可以是 testModel 的实例。
有关 API 文档中联合类型的更多信息 https://github.com/mobxjs/mobx-state-tree/blob/master/docs/API/README.md#union