如何在没有明确说明的情况下通过所有子组件传递支撑?

时间:2016-08-07 22:52:40

标签: javascript html reactjs redux

我正在使用redux with react来管理复杂表单的状态,这将是一个单独的对象。我的表单将具有用户可以编辑的嵌套数据结构,例如:Applicant.Address.Country将由我的表单上的文本框更新。我想到了一个名为UPDATE_MODEL的动作,可以通过传入以下对象来进行更新:

{Applicant: {Address: {Country: 'France'} } }

哪个会被reducer与州合并。更新模型的调度需要传递给每个单独的表单字段,以及告诉组件在表单的整个树中适合的位置。我有没有其他选择不在表格中传递这两个道具?这听起来很麻烦。

2 个答案:

答案 0 :(得分:2)

是的,你这样做。您可以使用React context

答案 1 :(得分:2)

React 上下文特别适用于此。

这个link(对ReactJS文档)有一个很好的例子。但这是一个实验性功能,因此请谨慎使用。

link(对博客)有一个很好的摘要,说明何时使用它以及何时不使用它。