【问题标题】:Why is mapStateToProps needed if I can use the entire store in my component?如果我可以在组件中使用整个商店,为什么还需要 mapStateToProps?
【发布时间】:2021-11-05 13:35:49
【问题描述】:

从定义

mapStateToProps用于从存储中选择连接组件需要的部分数据。

我不明白如果我可以在我的组件中使用整个商店数据,为什么我们甚至必须指定mapStateToPropsmapStateToProps 究竟提供了什么?如果我选择部分数据会发生什么?

有什么优势吗?

【问题讨论】:

  • 如果我可以在我的组件中使用整个商店数据 - 你能澄清一下你的意思吗?一方面,一般的最佳实践是只为组件提供它们需要的数据。特别是如果您有一个复杂的商店,它通过将一些过滤/选择移到mapStateToProps 函数中来大大简化组件代码。
  • 好吧,如果我使用整个商店而不使用mapStateToProps ,那么即使我的商店中的任何变量发生变化,我的组件也会重新渲染?当我使用mapStateToProps 时,只有当我配置的某些变量发生更改时,我的组件才会重新加载?是吗?
  • 如果我使用整个商店 - 你还没有澄清这一点。除了mapStateToProps,你还在用什么?

标签: javascript reactjs react-redux redux-store mapstatetoprops


【解决方案1】:
  • mapStateToProps 仅在组件中为您提供您需要的商店艺术
  • 在每次商店状态更改时调用(每次您返回的商店的相关部分发生更改时)。
  • 可以返回不同结构的store数据
  • 可以为不同的组件道具返回不同结构的商店数据。
  • 可重复用于需要商店相同部分的不同组件

【讨论】:

  • 好吧,如果我使用整个商店而不使用mapStateToProps ,那么即使我的商店中的任何变量发生变化,我的组件也会重新渲染?当我使用mapStateToProps 时,只有当我配置的某些变量发生更改时,我的组件才会重新加载?是吗?
  • 第二个说法是正确的。我不确定第一个。你可以阅读更多关于mapStateToProps的信息:react-redux.js.org/using-react-redux/connect-mapstate
猜你喜欢
  • 2010-12-26
  • 2021-01-14
  • 2011-04-07
  • 1970-01-01
  • 2012-08-03
  • 2017-08-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多