大家好,谢谢你的时间。
我在React.js上看到lynda.com的教程。 但是,它使用了旧版本的React。 他的代码:
render: function(){
return (
<div>
<Header title={this.state.title} status={this.state.status}/>
<RouteHandler {...this.state} />
</div>
)
}
但我使用新版本的React 15.2.1和React-router 2.5.2。 我不知道如何通过{this.props.children}
传递{... this.state}render: function(){
return (
<div>
<Header title={this.state.title} status={this.state.status}/>
{this.props.children}
</div>
)
}
谢谢大家
答案 0 :(得分:2)
为了将一些道具传递给{this.props.children}
,您可以使用React.cloneElement。结果元素将包含原始元素的道具,新道具合并为浅。
render: function(){
return (
<div>
<Header title={this.state.title} status={this.state.status}/>
{React.cloneElement(this.props.children,this.state)}
</div>
)
}
答案 1 :(得分:-1)
它又是我,我必须添加一个发射 在教程中,使用旧版本的React。
<RouteHandler **emit={this.emit}** {...this.state}/>
现在,如何添加emit?
{React.cloneElement(this.props.children, this.state)} //where add emit ?
谢谢,