今天我开始学习 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 操作的情况下,最好和最简单的解决方法是什么?
2017 年 7 月 28 日更新:React 的维护者在 React 16 Beta 1 中添加了这种可能性
从React 16.2 开始,你可以这样做:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}