首页 > 解决方案 > 有动态类型支持吗?

问题描述

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

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

标签: mobx-state-tree

解决方案


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

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


推荐阅读