Dzisiaj zacząłem uczyć się ReactJS i po godzinie napotkałem problem ... Chcę wstawić na stronie komponent, który ma dwa wiersze w div. Poniżej uproszczony przykład tego, co robię.
Mam html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
Renderuj funkcję w ten sposób:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
A poniżej nazywam render:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
Wygenerowany kod HTML wygląda następująco:
<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>
Problem polega na tym, że nie jestem zbyt szczęśliwy, że React zmusza mnie do zawinięcia wszystkiego w div „DeadSimpleComponent”. Jakie jest najlepsze i proste obejście tego problemu bez jawnych manipulacji DOM?
AKTUALIZACJA 28.07.2017: Opiekunowie Reacta dodali tę możliwość w React 16 Beta 1
Od React 16.2 możesz to zrobić:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}
