Есть ли поддержка динамического типа?

Как в дереве состояний MobX определить свойство с динамическим типом? пример: может быть назначен любому типу ... например, целому, строковому, логическому, объектному и т. д.

Любая идея? Обязательно ли определение типа в MST?


person simo    schedule 12.11.2019    source источник


Ответы (1)


В такой ситуации лучше всего использовать союз

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

person etudor    schedule 14.11.2019