Oggi ho iniziato ad imparare ReactJS e dopo un'ora ho affrontato il problema .. Voglio inserire un componente che ha due righe all'interno di un div sulla pagina. Un esempio semplificato di quello che sto facendo di seguito.
Ho un html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
Funzione di rendering in questo modo:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
E di seguito chiamo render:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
L'HTML generato ha questo aspetto:
<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>
Il problema che non sono molto contento è che React mi costringe a racchiudere tutto in un div "DeadSimpleComponent". Qual è la soluzione migliore e semplice per questo, senza manipolazioni DOM esplicite?
AGGIORNAMENTO 28/07/2017: I manutentori di React hanno aggiunto questa possibilità in React 16 Beta 1
A partire da React 16.2 , puoi farlo:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}