У меня есть эта базовая модель.
const stuff = types.model({
term: types.string,
excludeTerm: types.string,
stores: types.array(types.string)
}).actions(self => ({
setTerm(term: string) {
self.term = term
},
setExcludeTerm(term: string) {
self.excludeTerm = term
},
setStores(stores: string[]) {
self.stores = stores // <<< the lint error is on this line
}
}))
Я получаю следующую ошибку TS Lint:
Type 'string[]' is not assignable to type 'IMSTArray<ISimpleType<string>> & IStateTreeNode<IArrayType<ISimpleType<string>>>'.
Type 'string[]' is missing the following properties from type 'IMSTArray<ISimpleType<string>>': spliceWithArray, observe, intercept, clear, and 4 more.ts(2322)
Это досадная ошибка.Я могу исправить это, назначив так: (self as any).stores = stores
, но я хочу прекратить делать хаки с моим кодом.
Вопрос в том, почему я получаю эту ошибку?Есть ли другой способ присвоения типу массива в mobx-state-tree?
Я не смог найти в mobx-state-tree более подробную документацию для работы с массивами.Кто-нибудь знает кого-нибудь?