Я получаю сообщение об ошибке Error: [mobx-state-tree] A node cannot exists twice in the state tree. Failed to add SearchModel@/results/0 to path '/selectedItem'
при присвоении значения selectedItem
в следующей модели с помощью действия setSelectedItem
. Я проверил документацию и не уверен, что вызывает эту проблему.
Ценю любую помощь. Благодарность!
const SearchModel = types
.model({
results: types.array(ItemModel, []),
selectedItem:types.maybeNull(ItemModel,{ id: 0 })
})
.actions(self => ({
setSelectedItem(selItem) {
console.log( 'typeof(selItem)', typeof(selItem));
self.selectedItem=selItem;
}
}));
export default SearchModel;
maybeNull
попробуйте использовать вместо негоreference
:types.reference(ItemModel)
. Одно из полей модели вItemModel
также должно бытьidentifier
. - person Tholle   schedule 25.03.2019reference
. Потому чтоA node cannot exist twice in the state tree.
- person jayarjo   schedule 27.03.2019selItem
self.selectedItem
, и проблема исчезла. - person su8898   schedule 27.03.2019