Egyedi kulcsok id alapján Reactben
A fenti kódban a key attribútumhoz
hozzáadtuk az elem sorszámát a
tömbben. Valójában ez a gyakorlat nem megfelelő,
és csak szükség esetén kellene használni.
Az a helyzet, hogy ha a tömböt rendezzük, az elemek kulcsai megváltoznak, és a React nem fogja tudni megfelelően nyomon követni a tömbelemek és a hozzájuk tartozó tag-ek közötti kapcsolatot.
Egy jobb gyakorlat minden termékhez hozzáadni egy egyedi azonosítót, amelyet lesz használva kulcsként.
Adjunk hozzá a tömbünkben minden termékhez
egy id tulajdonságot a termékünk számával:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Most használjuk ezt a id-t kulcsként:
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>;
}
Módosítsa az előző feladatot úgy, hogy
hozzáad egy id mezőt a tömbhöz
és azokat használja a
key attribútum értékeiként.