Szukaj…


Wprowadzenie

Za każdym razem, gdy wyświetlasz listę składników React, każdy składnik musi mieć key atrybut. Klucz może mieć dowolną wartość, ale musi być unikalny dla tej listy.

Kiedy React musi renderować zmiany na liście przedmiotów, React tylko iteruje obie listy dzieci w tym samym czasie i generuje mutację, gdy tylko pojawi się różnica. Jeśli dla dzieci nie są ustawione żadne klucze, React skanuje każde dziecko. W przeciwnym razie React porównuje klucze, aby dowiedzieć się, które zostały dodane lub usunięte z listy

Uwagi

Aby uzyskać więcej informacji, odwiedź ten link, aby przeczytać, jak używać kluczy: https://facebook.github.io/react/docs/lists-and-keys.html

I odwiedź ten link, aby dowiedzieć się, dlaczego zaleca się używanie kluczy: https://facebook.github.io/react/docs/reconciliation.html#recursing-on-children

Podstawowy przykład

W przypadku bezklasowego komponentu React:

function SomeComponent(props){

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

W tym przykładzie powyższy składnik rozwiązuje:

<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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow