2016-06-13 51 views
1

我目前使用reactjsredux,我是一个新手。Reactjs避免通过嵌套传递参数

在我当前的代码中,我有一个对象被传递给下面的代码。我想避免这种情况,并将它放在道具中,这样我就不需要嵌套它了。这是否可以使用reactjs?

实施例:

module.exports ({ obj1 }) return <ul text: obj1></ul> 

这又进一步分成其他方法调用。

我是否应该展开对象道具并避免传递完整的对象?

+0

听起来好像你希望你的组件是'connect'ed组件,以便你的状态可以作为道具传递给组件。这是你在追求什么?如果是这样,你可以用'connect'封装你的导出,并将数据添加到'mapStateToProps'中的道具上。 –

回答

0

我绝对认为你应该扩大对象,只传递你的孩子组件所需的道具。这样您就可以以最小的责任来开发组件,从而促进重用。这是创建容器和演示组件的常用模式。

丹·阿布拉莫夫,Redux的创造者,有一些惊人的egghead教程,这将帮助你肯定。检查出来这里:

而当你已经建立了一定的经验,检查了他的新的教训一套对付一些更高级的概念(棍子的第一课,虽然直到你对Redux有适当的把握)。

+0

可能传播运营商做的伎俩? – tjhack

+0

真的取决于你的用例。 'obj1'中包含多少个道具?你的子组件是否真的需要所有的属性?将组件重点放在实际消耗/使用的道具上会促进组件重用。 Def检查这些课程。 :) – ctrlplusb

+0

对象真的很大。子组件需要所有对象。 – tjhack

0

context API专门被设计用来通过组件树传递数据,同时仍保留与物业现有行为。