我正在与其他几个开发人员一起进行React + Redux项目,我们不能就在状态和动作中传递最佳方法达成共识。
我的方法是有一个“容器”或“提供者”组件,它是父组件,所有必需的状态和动作都映射到状态,并传递给子组件,从而创建了一个真实的来源。但是,不利的一面是,您必须记住将操作和值向下传递到每个子组件中,这很棘手。
开发人员的另一种方法是mapStateToProps
在堆栈中任意位置的每个组件上使用它。因此,如果向下三层或四层的子组件需要某个状态,则他将在该组件上使用mapStateToProps。他还将直接使用import
关键字导入动作创建者,而不是将其称为道具。我不喜欢这种方法,因为您可能多次注入状态,并且无法在一处快速切换状态或动作。
我可以看到这两种方法各有优缺点,所以我只是想知道是否存在关于何时何地将状态/动作注入到React组件堆栈中的明确的最佳实践。
我在一个相对较大的Redux代码库上工作,我们选择了一种方法,我喜欢的是您mapStateToProps
在容器组件上使用的第二种方法,该组件将操作分配给哑组件并将其委托给哑组件。
您希望能够在许多地方重用它们而不必传递状态。您的顶级redux状态仍然是事实的来源,但mapStateToProps
将仅允许您访问此容器中所需状态的一部分。
Redux文档做得非常好,请检查一下,它推荐实现http://redux.js.org/docs/basics/UsageWithReact.html的容器组件mapStateToProps
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句