Claves únicas mediante id en React
En el código anterior, en el atributo key
agregábamos el número de orden del elemento en
el array. En realidad, esta práctica es
mala y solo debe usarse en casos extremos.
El problema es que al ordenar el array, los elementos tendrán otras claves y React no podrá rastrear correctamente la relación entre los elementos del array y las etiquetas correspondientes.
Una mejor práctica sería agregar a cada producto un identificador único, que se utilizará como clave.
Agreguemos en nuestro array a cada producto
la propiedad id con el número de nuestro
producto:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Ahora usemos este id como clave:
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>;
}
Modifique la tarea anterior, agregando
al array id y usándolos como
valores del atributo key.