如何在不显式传递道具的情况下,将道具传递到所有子组件
How can I pass a prop down through all subcomponents without doing so explicitly?
我使用redux和react来管理复杂表单的状态,该表单将是一个单独的对象。我的表单将有嵌套的数据结构,用户可以编辑,例如:申请人。住址国家/地区将通过我表格上的文本框进行更新。我有一个想法,做了一个名为UPDATE_MODEL的操作,可以通过传递以下对象来进行更新:
{Applicant: {Address: {Country: 'France'} } }
它会被还原器与状态合并。更新模型的调度需要传递到每个表单字段,以及一个用于告诉组件它在整个表单树中的位置的道具。除了不在整个表单中传递这两个道具,我还有其他选择吗?这听起来很乱。
是的。您可以使用React context
。
ReactContext就是专门为此而设计的。
这个链接(到ReactJS文档(有一个很好的例子。但这是一个实验性的功能,所以要谨慎使用。
这个链接(指向博客(对何时使用和何时不使用有一个很好的总结。
相关文章:
- 如何在未直接触发的情况下停止事件
- 如何在不使用JSX的情况下在React Native中制作组件
- Reactjs在不使用插件的情况下为离开组件设置动画
- 如何在不让web组件的原型进入全局命名空间的情况下维护它们之间的依赖关系
- 如何在不重新渲染的情况下附加 react-native 组件进行查看
- 如何在不禁用其他脚本的情况下将 Javascript 添加到组件中
- 在不使用状态/属性的情况下与父组件通信
- 如何更新p的标签:在primefaces中ajax调用后,在不关闭组件的情况下选择CheckboxMenu
- React Native:如何在不使用NavigatorIOS组件的情况下切换页面
- 如何在没有Browserify的情况下测试React组件
- 如何在不使用组件的情况下从angular2路由重定向到外部URL
- 如何在不将状态传递给子组件的情况下更新状态
- 如何在不使用JavaScript库的情况下检查DOM的HTML组件何时加载?
- 如何在没有双向绑定的情况下将ngModel传递给AngularJS组件
- 如何在不擦除/覆盖任何旧绑定的情况下将Knockout.js组件附加到页面
- 如何在不显式传递道具的情况下,将道具传递到所有子组件
- 如何在不使用的情况下重写primefaces组件内联样式!在css中很重要
- 在没有升级插件的情况下使用angular 1应用程序中的angular 2组件
- 如何在不向其父元素/子元素添加逻辑的情况下获取组件中子元素的dom节点
- React Redux-在没有连接的情况下调用调度(不是来自React组件)