在 React < v16.0 中,该render
方法只能渲染单个根节点。(更新:这在 v16 中有所改变,见下文)。在您的情况下,您将返回 3 个节点。为了解决这个问题,您可以将 3 个节点包装在一个根节点中:
render: function(){
return (
<div>
<h3>Account</h3>
<a href="#" onClick={some_event}>Login</a>
<a href="#" onClick={some_event}>Logout</a>
</div>
)}
在 React v16 中,可以render()
返回一个元素数组。
与其他数组一样,您需要为每个元素添加一个键以避免出现键警告:
render() {
return [
<ChildA key="key1" />,
<ChildB key="key2" />,
<ChildC key="key3" />,
];
}
另一种选择是使用Fragment。Fragments 允许您对子项列表进行分组,而无需向 DOM 添加额外的节点。
render() {
return (
<React.Fragment>
<ChildA />
<ChildB />
<ChildC />
</React.Fragment>
);
}
还有一个简短的语法 ( <>
) 用于声明片段:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}