Hoy comencé a aprender ReactJS y después de una hora enfrenté el problema ... Quiero insertar un componente que tiene dos filas dentro de un div en la página. Un ejemplo simplificado de lo que estoy haciendo a continuación.
Tengo un html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
Función de renderizado como esta:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
Y debajo estoy llamando a render:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
El HTML generado se ve así:
<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>
El problema es que no estoy muy contento de que React me obligue a envolver todo en un div "DeadSimpleComponent". ¿Cuál es la mejor y más sencilla solución, sin manipulaciones DOM explícitas?
ACTUALIZACIÓN 28/7/2017: Los mantenedores de React agregaron esa posibilidad en React 16 Beta 1
Desde React 16.2 , puede hacer esto:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}