Aujourd'hui, j'ai commencé à apprendre ReactJS et après une heure confronté au problème .. Je veux insérer un composant qui a deux lignes à l'intérieur d'un div sur la page. Un exemple simplifié de ce que je fais ci-dessous.
J'ai un html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
Fonction de rendu comme ceci:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
Et ci-dessous, j'appelle render:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
Le HTML généré ressemble à ceci:
<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>
Le problème que je ne suis pas très content que React m'oblige à tout envelopper dans un div "DeadSimpleComponent". Quelle est la meilleure solution de contournement simple pour cela, sans manipulations DOM explicites?
MISE À JOUR 28/07/2017: Les responsables de React ont ajouté cette possibilité dans React 16 Beta 1
Depuis React 16.2 , vous pouvez faire ceci:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}