Je suis en train de lire un livre avancé sur React intitulé React Cookbook . Pour une raison quelconque, l'auteur utilise un key
avec un préfixe, comme ceci :
<div>
{state.items.map((s, i) => (
<div key={`square-${i}`}>
{s}
</div>
))}
</div>
Je continue à voir key
construit de cette façon et cela me surprend toujours, surtout de la part d'un auteur avancé. Pour autant que je sache, il n'y a aucune différence entre ceci et juste key={i}
.
Quand j'ai commencé avec React, des développeurs moins avancés m'ont dit que c'était utile quand on imbrique des listes, comme ceci :
<div>
{state.items.map((s, i) => (
<div key={`square-${i}`}>
{s.map(f, j) => (
<div key={`foo-${j}`}>
{f}
</div>
)}
</div>
))}
</div>
Mais, cela est également inutile, puisque l'unicité de la clé est scopée, n'est-ce pas ? Donc les clés à différents niveaux ou différentes listes n'ont pas besoin d'être uniques.
Peut-être qu'il y aurait un peu de Ça n'aurait pas de sens de faire ça si ma liste était composée de deux ou plusieurs types de choses, comme ça :
<div key={`${item.type}-${i}`}>
Mais à part cela, pourquoi quelqu'un utiliserait-il une clé basée sur l'indice pour autre chose que l'indice ?