考虑不会编译的示例:
/** @jsx React.DOM */
var Hello = React.createClass({
render: function() {
return <div>Hello</div>;
}
});
var World = React.createClass({
render: function() {
return <div>World</div>;
}
});
var Main = React.createClass({
render: function() {
return (
<Hello />
<World />
);
}
});
React.renderComponent(<Main />, document.body);
但是这些组合中的任何一个都可以使用:
<div>
<Hello />
<World />
</div>
<Hello />
//<World />
//<Hello />
<World />
想知道是否应始终被DIV标签包围。
我认为渲染函数应仅返回一个组件。
来自文档:http://facebook.github.io/react/docs/component-specs.html
需要()方法。
被调用时,它应该检查一下。
有一种简单的方法可以解决此限制:
var Hello = React.createClass({
render: function() {
return <div>Hello</div>;
}
});
var World = React.createClass({
render: function() {
return <div>World</div>;
}
});
var HelloWorld = [Hello, World];
var Main = React.createClass({
render: function() {
return (
{HelloWorld}
);
}
});
React.renderComponent(<Main />, document.body);
反应组件只能渲染一个根节点。如果你想 返回多个节点,它们必须包裹在一个根中。
如官方React站点上指定的:React Docs