react-redux使用ownProps或redux存储

时间:2018-01-08 14:59:31

标签: reactjs redux react-redux

我正在研究react-redux项目, 我需要了解在我的容器中接收数据的正确方法。

正确的方法是通过pure redux从商店道具中接收它, 或者我可以通过ownProps传递我的args?甚至两种方式都很好。

当我处理这两种可能性时,我遇到了渲染问题。

但是,如果我需要对我的数据做一些逻辑,我想只在父母那里做,并且通过不对每个孩子做这件事来降低性能成本。

在底线我需要使用ownProps吗?如果是,在哪些情况下?

2 个答案:

答案 0 :(得分:0)

你可以做到这两点。您可以使用mapStateToProps并从商店中获取数据和/或访问数据作为mapStateToProps的第二个参数:

mapStateToProps = (state, ownProps) => {
  if (ownProps.something) {
    return { .... }
  }

  return { .... }
}

不要忘记,你必须从mapStateToProps返回一个对象,所以无论你的逻辑是什么,请确保你这样做。

在任何一种情况下,包装组件都将接收从mapStateToProps,mapDispatchToProps和ownProps返回的道具。

答案 1 :(得分:0)

嗯,这实际上取决于我们谈论的数据以及您对组件进行建模的方式。我的规则是尽可能少地使用Redux的connect帮助器。因为更少的组件知道商店更好。如果您最终将很多道具从父母传递给孩子,那么您必须重新考虑connect编辑的内容。这或多或少是构成问题。只是尝试创建更多只处理渲染的转储/无状态组件。