【发布时间】:2016-02-19 08:44:01
【问题描述】:
今天我开始学习 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 />
</>
);
}
【问题讨论】:
-
完美的命名习惯 ;-)
-
我可以看看你的 HTML 文件吗?我误读了你的问题。不过我可能有一个解决方法。
-
您对具有单个元素的组件有疑问?真的吗?
-
什么意思?我只是在尝试 React,它应该不会很复杂.. 但是限制看起来很烦人。
标签: javascript reactjs