我正在研究react-redux项目, 我需要了解在我的容器中接收数据的正确方法。
正确的方法是通过pure redux从商店道具中接收它, 或者我可以通过ownProps传递我的args?甚至两种方式都很好。
当我处理这两种可能性时,我遇到了渲染问题。
但是,如果我需要对我的数据做一些逻辑,我想只在父母那里做,并且通过不对每个孩子做这件事来降低性能成本。
在底线我需要使用ownProps吗?如果是,在哪些情况下?
答案 0 :(得分:0)
你可以做到这两点。您可以使用mapStateToProps并从商店中获取数据和/或访问数据作为mapStateToProps的第二个参数:
mapStateToProps = (state, ownProps) => {
if (ownProps.something) {
return { .... }
}
return { .... }
}
不要忘记,你必须从mapStateToProps返回一个对象,所以无论你的逻辑是什么,请确保你这样做。
在任何一种情况下,包装组件都将接收从mapStateToProps,mapDispatchToProps和ownProps返回的道具。
答案 1 :(得分:0)
嗯,这实际上取决于我们谈论的数据以及您对组件进行建模的方式。我的规则是尽可能少地使用Redux的connect
帮助器。因为更少的组件知道商店更好。如果您最终将很多道具从父母传递给孩子,那么您必须重新考虑connect
编辑的内容。这或多或少是构成问题。只是尝试创建更多只处理渲染的转储/无状态组件。