我正在尝试找到定义可以以一般方式使用的某些组件的正确方法:
<Parent>
<Child value="1">
<Child value="2">
</Parent>
当然,您可以想象<select>
并<option>
作为该逻辑的示例,在父组件和子组件之间存在一种渲染逻辑。
对于这个问题,这是一个虚拟的实现:
var Parent = React.createClass({
doSomething: function(value) {
},
render: function() {
return (<div>{this.props.children}</div>);
}
});
var Child = React.createClass({
onClick: function() {
this.props.doSomething(this.props.value); // doSomething is undefined
},
render: function() {
return (<div onClick={this.onClick}></div>);
}
});
问题是,每当您用于{this.props.children}
定义包装器组件时,如何将某些属性传递给其所有子组件?
原因React.children不为我工作。这对我有用。
我只想给孩子增加一堂课。类似于更换道具
这里的窍门是React.cloneElement。您可以通过类似的方式传递任何道具