gpt4 book ai didi

javascript - 我如何访问另一个 mobx 商店中的 mobx 商店?

转载 作者:行者123 更新时间:2023-11-30 09:33:31 29 4
gpt4 key购买 nike

假设结构如下

stores/
RouterStore.js
UserStore.js
index.js

每个 ...Store.js 文件都是一个包含 @observable@action 的 mobx 存储类。 index.js 只是导出所有商店,所以

import router from "./RouterStore";
import user from "./UserStore";

export default {
user,
router
};

访问一家商店内另一家商店的正确方法是什么?即在我的 UserStore 中,我需要在用户身份验证更改时从 RouterStore 发送操作。

我厌倦了从 UserStore 中的 import store from "./index" 然后使用 store.router.transitionTo("/dashboard") (transitionTo) 是 RouterStore 类中的一个 Action 。

但这似乎不能正常工作。

最佳答案

在这种情况下你只需要传递一个链接

只需创建全局商店并将 GlobalStore 的链接传递给您需要访问的每个子商店:

// global parent store
class GlobalStore {
constructor() {
this.routerStore = new RouterStore(this);
this.userStore = new UserStore(this);
// ... another stores
}
}

// access in child
class UserStore {
constructor(rootStore) {
this.routerStore = rootStore.routerStore;
}

// ...
}

// In root component:
<MobxProvider {...new GlobalStore()}>
<App />
</MobxProvider>

关于javascript - 我如何访问另一个 mobx 商店中的 mobx 商店?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44928645/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com