ReactでのIDによるユニークキー

上記のコードでは、属性keyに 配列内の要素のインデックス番号を 追加していました。実際には、この手法は 望ましくなく、やむを得ない場合にのみ 使用すべきです。

その理由は、配列をソートすると 要素のキーが変わってしまい、Reactが 配列の要素と対応するタグの関連を 正しく追跡できなくなるためです。

より良い手法は、各製品に一意の識別子を 追加し、それをキーとして使用することです。

私たちの配列で、各製品に製品番号を表す プロパティidを追加しましょう:

jsxconst prods = [
  {id: 1, name: 'product1', cost: 100},
  {id: 2, name: 'product2', cost: 200},
  {id: 3, name: 'product3', cost: 300},
];

次に、キーとしてこの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

前の課題を修正し、 配列にidを追加して、 属性keyの値として 使用してください。