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:

jsxconst 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:

jsxfunction 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>;
}
Задание 1

Upravte předchozí úlohu přidáním id do pole a použitím těchto hodnot jako hodnot atributu key.