React.js:将一个组件包装到另一个组件中

许多模板语言都有“slot”或“yield”语句,它们允许进行某种控制反转,将一个模板包装到另一个模板中

Angular具有“transclude”选项

Rails有一个yield语句。如果React.js有yield语句,则如下所示:

var Wrapper=React.createClass({
render:function(){
返回(
<div className=“包装器”>
之前
<收益率/>
之后
</div>
);
}
});
var Main=React.createClass({
render:function(){
返回(
<Wrapper><h1>内容</h1></Wrapper>
);
}
});

期望输出:

<div class=“包装器”>
之前
<h1>内容&lt/h1>
之后
&lt/部门>

唉,React.js没有<产量/&gt。如何定义包装器组件以实现相同的输出

尝试:

var Wrapper=React.createClass({
render:function(){
返回(
<div className=“包装器”>
之前
{this.props.children}
之后
</div>
);
}
});

有关更多信息,请参阅文档中的多个组件:子项和子项道具的类型

发表评论