【发布时间】:2017-05-31 08:30:56
【问题描述】:
我正在与其他几个开发人员一起开发一个 React + Redux 项目,我们无法就状态和操作在何处传递的最佳实践达成一致。
我的方法是拥有一个“容器”或“提供者”组件,它是父组件,所有必需的状态和操作都映射到状态并传递到子组件,从而创建单一的事实来源。然而,不利的一面是,您必须记住通过每个子组件向下传递操作和值,这可能很难遵循。
另一种开发人员方法是在堆栈中的任何位置,在需要它的每个组件上使用mapStateToProps。因此,如果一个向下三层或四层的子组件需要某种状态,他会在该组件上使用 mapStateToProps。他还将使用import 关键字直接导入动作创建者,而不是将它们称为道具。我不喜欢这种方法,因为您可能会多次注入状态,并且您无法在一个地方快速切换状态或操作。
我可以看到这两种方法各有优缺点,所以我只是想知道在何时何地将状态/动作注入到 React 组件堆栈中是否有明确的最佳实践。
【问题讨论】:
-
我倾向于 Jeremy 的回答,但对此并没有硬性规定,更多的是关于意见和你想如何组织事物。
标签: javascript reactjs redux