首页 > 解决方案 > 为什么Mobx中需要react context、createContext、useContext、useStore

问题描述

我在我的 Typescript 应用程序中使用 Mobx 进行持久性,并且我有自己的商店单例类:

export class MyStore {
    @observable something;
    @observable somethingElse;
}

export myStore:MyStore = new MyStore();

这是在文件“data/store/MyStore”中。所以在我所有的组件中,为什么我不能这样做:

import { myStore } from "data/store/MyStore";

我不能只导入 myStore 并使用它吗?

为什么我必须使用 createContext 和 useStore 遍历所有 troble 操作系统才能获取商店?我可以通过导入它来获得它。我错过了什么?

标签: typescriptmobxmobx-react

解决方案


是的你可以。将这种方法与单例商店一起使用是完全可以的。

Context, Provider,inject和其他东西主要用于测试目的(因为它更容易模拟商店,Provider像某种依赖注入一样工作)或用于服务器端渲染。如果您不需要任何这些,那么您可以完全跳过它。


推荐阅读