直接使用store.dispatch是否有任何不利之处?
在我看来,它更容易打电话(因为它可供所有儿童组件使用),到目前为止我的测试中,我还没有找到差异。
谢谢!
答案 0 :(得分:51)
在universal apps中,您希望每个请求都有不同的商店实例。如果您只是将商店从某个模块导出为单例,那么您将很难添加服务器呈现。
这就是为什么我们从不鼓励在文档中使用单件商店,并且总是鼓励您使用<Provider>
通过React context将其传递到层次结构中。这使得存储可供消费组件使用,而不会使其成为单例。
至于为什么来自React Redux的connect()
通过dispatch
作为道具而不是store
本身 - 因为你并不真正需要store
}本身在连接的组件中。订阅和阅读状态由connect()
完成,因此您只需在组件中dispatch()
。
答案 1 :(得分:1)
通常我发现商店在顶级模块中初始化,然后通过react-redux连接功能在较低级别的模块中使用。
这样就无需直接在较低级别的模块中导入商店,因为它将从顶层导入。