2

在 MobX 状态树中,如何定义具有动态类型的属性?例如:可以分配给任何类型..如整数、字符串、布尔值、对象等

任何想法?在 MST 中定义类型是强制性的吗?

4

1 回答 1

0

在这种情况下,最好使用联合

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

于 2019-11-14T09:48:13.813 回答