【发布时间】:2016-04-15 13:41:24
【问题描述】:
我正在将一个道具列表传递给像 {...this.props} 这样的子组件,但是遇到了我需要添加额外道具的情况,我相信我可以像<Child {...this.props} addProp="myNewProp" /> 那样做,但是保持代码更干净,我可以以某种方式将addProp 添加到...this.props 的列表中,所以我只传递它吗?
【问题讨论】:
标签: javascript reactjs
我正在将一个道具列表传递给像 {...this.props} 这样的子组件,但是遇到了我需要添加额外道具的情况,我相信我可以像<Child {...this.props} addProp="myNewProp" /> 那样做,但是保持代码更干净,我可以以某种方式将addProp 添加到...this.props 的列表中,所以我只传递它吗?
【问题讨论】:
标签: javascript reactjs
试试这个:
<Child {...{addProp:"myNewProp", ...this.props}}/>
(但是,在我看来,通常的 JSX 属性语法看起来比你的例子更好)
另外,你应该记住,虽然这个语法 supported 来自 Babel 的插件,但它是 still a proposal 并且不能包含在实际的 ES7 中。
【讨论】:
你可以使用 JavaScript:
h(Child, {
...this.props,
addProp: "myNewProp"
})
h 只是别名:const h = React.createElement 或 JSnoX
【讨论】: