【问题标题】:Should I get redux store always from connect or pass it through props to children components?我应该始终从 connect 获取 redux store 还是通过 props 将其传递给子组件?
【发布时间】:2020-10-31 22:59:24
【问题描述】:

我们有一个大型 React 应用程序并使用 Redux 来管理数据。

目前我们使用 es6 语法和类组件,我们将使用基于函数的组件和 react hooks。

在 react 子组件中访问 redux 存储的最佳方式是什么?

  1. 每个子组件中使用 react-redux 中的 connect 方法
  2. 传递 redux 状态(在使用 redux connect 方法的组件中)并传递 redux 状态

通过props到子组件?

【问题讨论】:

  • 取决于父母是否会使用所述状态或以我认为的任何方式操纵它

标签: reactjs redux connect


【解决方案1】:

首先,最简洁的方法仍然是为每个组件(函数式或类)拥有容器组件。

您应该只将最低限度的状态从 redux 映射到任何需要 redux 状态的组件。

现在您应该将每个组件映射到 redux 吗?好吧,如果父级具有子级所需的一切,那么映射其中一个子组件可能不值得。但是,如果您坚持第一点并将映射保持在最低限度,那么父母可能没有数据,如果有的话,映射孩子可能是有意义的。

通过将每个组件订阅到最低限度,即拥有更多映射组件,默认情况下您将获得更少的重新渲染,这很有用。

【讨论】:

  • 谢谢,迈克尔:-“映射最低限度的状态”是我们一开始犯的错误
  • 你的意思是不映射最低限度是一个错误,还是这样做是一个错误?这样做的另一个主要好处是,您可以准确地看到每个组件实际上依赖于组件的 props 所反映的内容。
猜你喜欢
  • 2017-04-28
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 2019-07-14
  • 2019-12-05
  • 1970-01-01
  • 1970-01-01
  • 2021-10-04
相关资源
最近更新 更多