Reactда id орқали уникал калитлар

Юқорида келтирилган кодда key атрибутига биз массивдаги элементнинг тартиб рақамини қўшган эдик. Аслида, бундай амалиёт ёмон ҳисобланади ва фақат eng oxirgi holatda фойдаланиш керак.

Гапи шундаки, массивни saralash пайтида элементларнинг калитлари ўзгариб қолади ва React массив элементлари ва мос теглар ўртасидаги боглиқликни тўғри кузата олмайди.

Яхшироқ амалиёт ҳар бир mahsulotга уникал идентификатор қўшиш бўлиб, шу калит сифатида ишлатилади.

Келинг, бизнинг массивимизда ҳар бир mahsulotга id хусусиятини бизнинг mahsulot рақами билан қўшайлик:

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

Олдинги vazifani id ни массивга қўшиб ва улардан key атрибутининг қийматлари сифатида фойдаланиб модификация қилинг.