tl; dr - Comment ajouter dynamiquement un key
à un élément de réaction?Réagir: Réglage dynamique des éléments clés
J'ai un composant React que, quand à lui seul, a une liste statique des enfants:
<componentA>
<child ... />
<child ... />
<child ... />
</componentA>
Comme la liste est statique, il n'y a pas de clés sur l'un des enfants car ils sont pas besoin.
Maintenant, j'ai un autre élément qui enveloppe celui-ci et fait des enfants dynamiques:
function componentB(componentA) {
return class extends React.Component {
render() {
const filteredChildren = // ... filter this.props.children
return (<componentA>
{filteredChildren}
</componentA>)
}
}
}
Comme les enfants sont maintenant dynamiques que je dois ajouter key
s pour eux, mais si je tente quelque chose comme:
React.Children.map((child, i) => {
child.key = i;
return child
});
il échoue en disant key
est en lecture seule. De this question il semble que cloneElement
est un non-go aussi bien. Donc, y at-il un moyen de définir dynamiquement un key
?
Merci. J'ai mal lu la réponse que j'ai liée, doh! Acceptera dans quelques minutes! –
Vous êtes les bienvenus. Je viens de copier/coller depuis mes applications React. C'est une longue expérience avec React. –