Recherche…


Introduction

Chaque fois que vous restituez une liste de composants React, chaque composant doit avoir un attribut de key . La clé peut avoir n'importe quelle valeur, mais elle doit être unique pour cette liste.

Lorsque React doit effectuer des modifications sur une liste d'éléments, React réitère les deux listes d'enfants en même temps et génère une mutation chaque fois qu'il y a une différence. S'il n'y a pas de clés pour les enfants, React analyse chaque enfant. Sinon, React compare les clés pour savoir lesquelles ont été ajoutées ou supprimées de la liste.

Remarques

Pour plus d'informations, visitez ce lien pour savoir comment utiliser les clés: https://facebook.github.io/react/docs/lists-and-keys.html

Et visitez ce lien pour savoir pourquoi il est recommandé d'utiliser des clés: https://facebook.github.io/react/docs/reconciliation.html#recursing-on-children

Exemple de base

Pour un composant React sans classe:

function SomeComponent(props){

    const ITEMS = ['cat', 'dog', 'rat']
    function getItemsList(){
        return ITEMS.map(item => <li key={item}>{item}</i>);
    }
    
    return (
        <ul>
            {getItemsList()}
        </ul>
    );
}

Pour cet exemple, le composant ci-dessus résout:

<ul>
    <li key='cat'>cat</li>
    <li key='dog'>dog</li>
    <li key='rat'>rat</li>
<ul>


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow