วันนี้ฉันได้เริ่มเรียนรู้ ReactJS และหลังจากผ่านไปหนึ่งชั่วโมงต้องเผชิญกับปัญหา .. ฉันต้องการแทรกส่วนประกอบที่มีสองแถวภายใน div บนหน้าตัวอย่างง่ายๆของสิ่งที่ฉันกำลังทำอยู่ด้านล่าง
ฉันมี html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
ฟังก์ชัน Render ดังนี้:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
และด้านล่างฉันเรียกว่า render:
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 อย่างชัดเจน
อัปเดต 28/7/2017: ผู้ดูแล React เพิ่มความเป็นไปได้นั้นใน React 16 Beta 1
ตั้งแต่React 16.2คุณสามารถทำได้:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}