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

标签 reactjs redux

直接使用store.dispatch有什么坏处吗?

在我看来,调用起来要容易得多(因为它可用于所有子组件),并且在迄今为止的测试中,我还没有发现差异。

谢谢!

最佳答案

universal apps ,您将需要针对每个请求使用不同的存储实例。如果您只是从某个模块将商店导出为单例,那么您将很难添加服务器渲染。

这就是为什么我们从不在文档中鼓励单例存储,并且始终鼓励您使用 <Provider> 通过 React context 将其沿层次结构传递。这使得存储可供消费组件使用,而无需使其成为单例。

至于为什么 connect() 来自 React Redux 的通行证 dispatch作为 Prop 而不是 store本身 - 这是因为你并不真正需要 store本身位于连接的组件中。订阅和阅读状态由 connect() 完成所以你只需要dispatch()在组件中。

关于reactjs - 为什么在 Redux 中直接使用 "this.props.dispatch"而不是 "store.dispatch"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33221634/

相关文章:

javascript - React 自定义钩子(Hook)无限循环

reactjs - 在 React 中,如何命名属于数组一部分的表单字段?

redux - 在 Redux 中编写高阶 reducer

javascript - 尝试向操作提交 formik 表单

javascript - React Redux with redux-observable 在异步操作完成后使用路由器导航到不同的页面

Redux Saga - yield 调用不返回数据

javascript - React router goBack 不会将最后一个位置压入堆栈

reactjs - 当我从 Typescript 中的 createEntityAdapter 获取选择器时出现错误

javascript - 访问当前处理程序中的新状态

reactjs - 使用 redux-api-middleware 处理 image/jpeg 内容