今天,我开始学习ReactJS,一个小时后面对了这个问题。我想在页面上的div内插入一个具有两行的组件。下面是我正在做的简化示例。
我有一个html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
渲染功能如下:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
在下面,我称渲染为:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
生成的HTML如下所示:
<html>
..
<div id="component-placeholder">
<div class="DeadSimpleComponent">
<div class="DeadSimpleComponent__time">10:23:12</div>
<div class="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
</div>
..
</html>
我不是很高兴React强迫我将所有的代码都包装在div“ DeadSimpleComponent”中。没有显式的DOM操作,什么是最佳且简单的解决方法?
更新7/28/2017:React的维护者在React 16 Beta 1中增加了这种可能性
从React 16.2开始,您可以执行以下操作:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}
也有解决方法。下面的代码块无需React.Fragment就可以生成片段。