正如 Mobx文档中所建议的,我以下列方式创建了多个商店:
class bankAccountStore {
constructor(rootStore){
this.rootStore = rootStore;
}
...
class authStore {
constructor(rootStore){
this.rootStore = rootStore;
}
...
最后按以下方式创建根存储。此外,我更喜欢在主人的商店构造函数中构造子商店。此外,我发现有时我的子商店必须观察父商店的一些数据,所以我将其传递给子构造函数
class RootStore {
constructor() {
this.bankAccountStore = new bankAccountStore(this);
this.authStore = new authStore(this);
}
}
以下列方式提供给应用程序:
<Provider rootStore={new RootStore()}>
<App />
</Provider>
并像这样注入组件:
@inject('rootStore')
@observer
class User extends React.Component{
constructor(props) {
super(props);
//Accessing the individual store with the help of root store
this.authStore = this.props.rootStore.authStore;
}
}
即使它需要根存储的一部分,每次将根存储注入到组件中是否是正确有效的方法?如果不是如何将 auth Store 注入用户组件?
编辑:我已经做出了结束 github 讨论的答案。答案中提供的讨论链接