Réagir conditionnelle rendu de plusieurs composants enfants
Je suis en train de rendre de multiples composants enfants en fonction de l'état cependant, je suis seulement capable de renvoyer un enfant composant (SyntaxError: à côté de l'JSX éléments doit être enveloppé dans une balise englobante)
Chaque composant enfant passe la même chose des décors, de la façon dont ce code pourrait-il être gardé au SEC?
Œuvres
export default ({changeState, myState, handleClick}) => (
<Navigation>
<span>Navigation</span>
<button onClick={() => changeState()}>Navigation</button>
{ myState ?
<NavigationItem handleClick={handleClick} title={'#Link-1'} />
: null
}
</Navigation>
)
Ne pas
export default ({changeState, myState, handleClick}) => (
<Navigation>
<h1>Navigation</h1>
<button onClick={() => changeState()}>Navigation</button>
{ myState ?
<NavigationItem handleClick={handleClick} title={'#Link-1'} />
<NavigationItem handleClick={handleClick} title={'#Link-2'} />
<NavigationItem handleClick={handleClick} title={'#Link-3'} />
: null
}
</Navigation>
)
OriginalL'auteur silversurfer | 2017-08-31
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également utiliser
<Fragment>
de ReactJS: https://reactjs.org/docs/fragments.htmlLe problème sur l'ajustement de tous les éléments avec un
<div>
, c'est que vous êtes ajoutant plus d'éléments du DOM, et il est parfois impossible (par exemple, lorsque vous êtes rendu un<td>
ou<tr>
à l'intérieur d'un<table>
. C'est ici où<Fragment>
vient nous aider.Juste envelopper de tous ces éléments dans un
<Fragment>
et ça va être assez.Sens:
De toute façon, cette autre "Rendu Conditionnel" approche est la meilleure "lisibilité du code" sens: https://medium.com/@BrodaNoel/conditional-rendering-in-react-and-jsx-the-solution-7c80beba1e36
Essentiellement, il propose l'utilisation d'un
<Conditional>
élément, comme:^ C'est mieux pour les yeux 😀
OriginalL'auteur Broda Noel
Vous devez envelopper la JSX dans un
<div/>
OriginalL'auteur Nocebo