Unikátne kľúče pomocou id v React
V uvedenom kóde sme do atribútu key
pridávali poradové číslo prvku v
poli. V skutočnosti je takáto prax
zlá a malo by sa ju používať len v prípade
extrémnej potreby.
Problém je v tom, že pri triedení poľa prvky získajú iné kľúče a React nebude schopný správne sledovať vzťah medzi prvkami poľa a príslušnými tagmi.
Lepšou praxou bude pridať každému produktu jedinečný identifikátor, ktorý sa bude používať ako kľúč.
Pridajme v našom poli každému produktu
vlastnosť id s číslom nášho
produktu:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Teraz ako kľúč použijeme toto id:
function App() {
const res = prods.map(function(item) {
return <p key={item.id}>
<span>{item.name}</span>:
<span>{item.cost}</span>
</p>;
});
return <div>
{res}
</div>;
}
Upravte predchádzajúcu úlohu pridaním
id do poľa a použitím ich ako
hodnôt atribútu key.