Reactjs 为什么要使用;此.props.dispatch“;而不是",;储存.派送“;直接在Redux?

Reactjs 为什么要使用;此.props.dispatch“;而不是",;储存.派送“;直接在Redux?,reactjs,redux,Reactjs,Redux,直接使用store.dispatch是否有任何损害 在我看来,调用它要容易得多(因为它对所有子组件都是可用的),在我的测试中,到目前为止,我还没有找到区别 谢谢 通常,我发现存储在顶级模块中初始化,然后由connect函数在低级模块中使用 这样就不需要直接在较低级别的模块中导入存储,因为它将从顶层导入。在中,每个请求都需要不同的存储实例。如果您只是从某个模块将存储导出为单例,那么添加服务器渲染将非常困难 这就是为什么我们从不鼓励在文档中使用单例存储,而是始终鼓励您使用React将其传递到层次结构

直接使用store.dispatch是否有任何损害

在我看来,调用它要容易得多(因为它对所有子组件都是可用的),在我的测试中,到目前为止,我还没有找到区别


谢谢

通常,我发现存储在顶级模块中初始化,然后由connect函数在低级模块中使用

这样就不需要直接在较低级别的模块中导入存储,因为它将从顶层导入。

在中,每个请求都需要不同的存储实例。如果您只是从某个模块将存储导出为单例,那么添加服务器渲染将非常困难

这就是为什么我们从不鼓励在文档中使用单例存储,而是始终鼓励您使用React将其传递到层次结构中。这使得存储区可供消费组件使用,而无需将其设置为单个组件


至于为什么React Redux将
分派
作为道具而不是
存储
本身,这是因为您不需要在连接的组件中存储本身。订阅和读取状态由
connect()
完成,因此您只需要组件中的
dispatch()?我正在考虑使用一个存储模块,分别导出一个单机版和一个工厂,供客户端和服务器端使用。@orourkedd为什么要访问应用商店创建者?我一直在考虑,现在认为以任何其他全局/单机版方式访问应用商店创建者是一种不好的模式。