使用mobx-state-tree有一个问题。 如果我们嵌套了具有以下结构的商店
login(store):{
//some primitives
},
mainPage(store):{
slider:(store):{
//some primitives
},
userList:(store):{
//some primitives
},
//some primitives
},
我们如何仅注入userList
家商店。
我试图这样做:
@inject('mainPage.userList')
但是会引发错误
答案 0 :(得分:1)
没有直接引用就不能直接注入子存储。您可以简单地注入mainPage,然后在构造函数中对其进行访问。
@inject('mainPage')
然后
constructor(props) {
super(props)
this.userList = this.props.mainPage.userList
}
一种改进是拥有一个rootStore,并仅通过提供者将其注入每个组件。这样简化了测试,每个组件都可以访问整个树。
看看入门文档,您会看到使用rootStore的各种示例:
https://github.com/mobxjs/mobx-state-tree/blob/master/docs/getting-started.md