Hôm nay tôi đã bắt đầu học ReactJS và sau một giờ đối mặt với vấn đề này .. Tôi muốn chèn một thành phần có hai hàng bên trong một div trên trang. Một ví dụ đơn giản về những gì tôi đang làm bên dưới.
Tôi có một html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
Kết xuất chức năng như thế này:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
Và bên dưới tôi đang gọi kết xuất:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
HTML đã tạo trông giống như sau:
<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>
Vấn đề mà tôi không hài lòng lắm là React buộc tôi phải gói tất cả trong một div "DeadSimpleComponent". Cách giải quyết tốt nhất và đơn giản cho nó, không có thao tác DOM rõ ràng là gì?
CẬP NHẬT 28/7/2017: Những người bảo trì React đã thêm khả năng đó trong React 16 Beta 1
Kể từ React 16.2 , bạn có thể làm điều này:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}