Unikátní klíče pomocí id v Reactu
Ve výše uvedeném kódu jsme do atributu key
přidávali pořadové číslo prvku v
poli. Ve skutečnosti je taková praxe
špatná a měla by se používat pouze v krajních
případech.
Problém je v tom, že při řazení pole budou prvky mít jiné klíče a React nebude schopen správně sledovat vazbu mezi prvky pole a odpovídajícími tagy.
Lepší praxí bude přidat každému produktu jedinečný identifikátor, který bude použit jako klíč.
Pojďme v našem poli každému produktu
přidat vlastnost id s číslem našeho
produktu:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Nyní jako klíč 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 předchozí úlohu přidáním
id do pole a použitím těchto hodnot jako
hodnot atributu key.