为什么直接在Redux中使用"this.props.dispatch"而不是"store.dispatch"?

use*_*574 33 reactjs redux

直接使用store.dispatch有什么不利吗?

在我看来,它更容易调用(因为它可用于所有子组件)并且在我的测试中到目前为止,我还没有发现差异.

谢谢!

Dan*_*mov 56

通用应用程序中,您需要在每个请求上使用不同的商店实例.如果您只是将存储从某个模块导出为单例,那么添加服务器渲染将很困难.

这就是为什么我们从不鼓励在文档中使用单例存储,并且总是鼓励您使用<Provider>通过React将其传递给层次结构上下文中.这使得存储可供消费组件使用而不会使其成为单例.

至于为什么connect()React Redux dispatch作为道具而不是store自己传递- 这是因为你并不真正需要store自己在连接组件中.订阅和阅读状态由connect()您完成,因此您只需要dispatch()组件.