【发布时间】:2015-07-01 04:53:00
【问题描述】:
我正在使用 React.js 开发一个项目,并且对 React 的组成非常困惑。
http://facebook.github.io/react/docs/multiple-components.html
上面的链接给出了一个例子。它使用 React.creatClass() 创建三个组件。一个父组件和两个子组件。父组件在 render 方法的 JSX 中包含其他组件。
这个例子很清楚,但不是很“可重用”。如果我想在另一种情况下传递另一个孩子怎么办? React.js 似乎缺少像 Backbone 的视图那样的“扩展”方法。
后来发现可以在React.render()中传递children组件,使用this.props.children来合成。
var Tom = React.createClass({
render: function(){
return(
<a>This is Tom.</a>
)
}
});
var John = React.createClass({
render: function(){
return(
<a>This is John.</a>
)
}
});
var Outter = React.createClass({
componentDidMount:function(){
console.log(this.props.children);
},
render: function(){
return(
<div className="test">
{this.props.children}
</div>
)
}
});
React.render(<Outter><Tom /><John /></Outter>, document.getElementById('main'));
我认为这很好,但这种方法与上面的示例之间的真正区别是什么?这种方法是在 React.js 中组合组件的正确方法吗?
谢谢
【问题讨论】:
标签: javascript reactjs