Au moment de donner des clés uniques pour les composants, est-il acceptable d'utiliser les Mathématiques.random() pour générer ces clés?

Problème est le suivant:

J'ai des données sous la forme d'une liste de quelques milliers d'éléments. Certains d'entre eux sont des doublons, et il y a peut être la chance d'avoir des doubles de clés ainsi alors.
Parce que je n'ai pas de réel "ID" ou quoi que ce soit qui pourrait me donner l'occasion de donner tous les éléments de leur carte d'identité comme des clés uniques, est-il acceptable d'utiliser Math.random() à la place?

Que j'ai compris, les touches sont surtout utilisées par réagir à différencier les composants. Je pense aussi loin que je n'ai pas vraiment quelque chose à voir avec les clés dans mon code, cela devrait aller bien? Pour s'assurer qu'il n'y aura pas de numéro en double, je pourrais aussi bien diviser deux math randoms les uns avec les autres pour obtenir un presque certainement clé unique.

Est-ce une bonne pratique? Puis-je l'utiliser sans avoir à vous soucier de quoi que ce soit?

  • Vous n'avez qu'à fournir des clés de si vous générez un tableau d'éléments. Et dans ce cas, vous pourriez aussi bien utiliser le compteur d'itération.
  • Juste incrémenter un numéro de @FelixKling suggéré. C'est le risque zéro et simple.
  • C'est de mauvais conseils. Ne jamais utiliser les indices de boucle que les touches soit. La clé doit être unique et cohérente.
  • Yah la raison en est que la clé est censé être un identificateur pour les données qui vont dans l'élément de la liste. Si la clé n'est pas liée aux données d'une certaine façon, de réagir ne peut pas faire de l'optimisation.
InformationsquelleAutor Sossenbinder | 2015-04-22