Յունիկալ բանալիներ id-ի միջոցով React-ում
Վերոնշյալ կոդում key ատրիբուտին
մենք ավելացնում էինք տարրի հերթական համարը
զանգվածում: Իրականում, նման պրակտիկան վատ է
և այն պետք է օգտագործել միայն ծայրահեղ
դեպքերում:
Բանը նրանում է, որ զանգվածի դասավորվածության դեպքում տարրերը կստանան այլ բանալիներ, և React-ը չի կարողանա ճիշտ հետևել կապին զանգվածի տարրերի և համապատասխան թեգերի միջև:
Ավելի լավ պրակտիկա կլինի յուրաքանչյուր ապրանքին ավելացնել յունիկալ նույնականացուցիչ, որն էլ կօգտագործվի որպես բանալի:
Եկեք մեր զանգվածում յուրաքանչյուր ապրանքի
ավելացնենք id հատկությունը մեր
ապրանքի համարով:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Այժմ որպես բանալի օգտագործենք այս 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>;
}
Փոփոխեք նախորդ առաջադրանքը՝ ավելացնելով
զանգվածին id և օգտագործելով դրանք որպես
key ատրիբուտի արժեքներ: