示例1:
组件1:
<Fragment>
<span> Hello world</span>
<component2 {...this.props} />
</Fragment>
export default connect(mapStateToProps)(component1)
示例2
组件1:
<Fragment>
<span> Hello world</span>
<component2 />
</Fragment>
第二部分:
<Fragment>
<span> Hello world</span>
</Fragment>
export default connect(mapStateToProps)(component2)
在我的场景中,我想对组件1和组件2使用状态。所以我需要在组件1和2中都连接到redux,那么您会提出什么建议?哪种方法是最好的方法
谢谢
答案 0 :(得分:1)
如果Second组件是First组件的子代,则应在First组件中映射StateToProps,然后通过prop将其传递给第二个组件。就像您在第一个示例中所做的一样!
答案 1 :(得分:1)
这真的取决于。通常,您尝试在组件层次结构中connect
“高”并传递道具,以保持尽可能多的哑组件。但是要注意,如果连接确实很高,那么每次商店更改时,很多组件将一无所获(除非它们是纯净的)。在遇到问题之前不要进行优化,但请记住这一点。
我的经验法则是商店中每个“主题”有一个连接的组件。如果组件connects
得到两件事,并将一件事传递给一个孩子,另一件事传递给另一个孩子,那么我考虑将连接向下移到每个组件。但是这里没有硬性规定,只有指导。