Chiavi univoche tramite id in React
Nel codice sopra riportato, nell'attributo key
abbiamo aggiunto il numero d'ordine dell'elemento
nell'array. In realtà, questa pratica è considerata
scorretta e dovrebbe essere utilizzata solo in casi
estremi.
Il problema è che quando si ordina l'array, gli elementi avranno chiavi diverse e React non riuscirà a tracciare correttamente la relazione tra gli elementi dell'array e i tag corrispondenti.
Una pratica migliore consiste nell'aggiungere a ogni prodotto un identificatore univoco, che verrà utilizzato come chiave.
Aggiungiamo ora a ogni prodotto nel nostro array
una proprietà id con il numero del nostro
prodotto:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Ora utilizziamo questo id come chiave:
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>;
}
Modificate il task precedente, aggiungendo
nell'array id e utilizzandoli come
valori per l'attributo key.