-3
votes

Réagir: Comment puis-je rendre une liste sans clés?

J'ai ce JSON code> et je vous demandais s'il y a un moyen de faire une liste sans avoir à spécifier une clé.

Voici ce que j'ai essayé: p>

"items": [
  {
    "id": 1,
    "firstName": "Alan",
    "lastName": "Smith"
  },
  {
    "id": 2,
    "firstName": "John",
    "lastName": "Something"
  }
]


7 commentaires

Est-ce que cela répond à votre question? Comprendre des clés uniques pour les enfants des enfants dans React.js


Vos identifiants sont uniques?


Je ne pense pas que tu voulais rendre sans clés. Ils sont utilisés pour aider à réagir mieux performer


Vous retournez une fonction !? Pas une liste.


@THOMAS Je ne sais pas à ce sujet, j'ai ajouté le code complet. Pensez-vous que c'est une fonction?


Je pense, nom => {...} est une fonction, et noms.map = nom => {...} attribue la fonction à noms.map . Aucune exécution en vue. et retour a = b est identique à a = b; retour b; donc, retourne la fonction.


Malgré la question étant fermée en tant que "duplicate", le problème n'était pas dans la touche (il n'était qu'un avertissement, pas une erreur, après tout), mais dans la déclaration de namecomonent (et btw vos composants de réact doivent être pascalcased , pas camelicased ).


4 Réponses :


0
votes

Essayez ceci:

return(
      names.map( name => {
        <Item key={name.id + name}>
          <IdName>{name.id}</IdName>
          <FirstName>{name.firstName}</FirstName>
          <LastName>{name.lastName}</LastName>
        </Item>
    )}


0 commentaires

0
votes

Votre syntaxe n'a pas l'air bien. Essayez xxx


4 commentaires

i est non défini , vous voulez dire carte ((nom, i) => ...) , je crois


Ah, j'ai copié - collé la mauvaise ligne.


Je reçois toujours la même erreur, peut-être, c'est de mon Json?


Avez-vous remplacé vos bretelles bouclées { avec (? Car avec / * ... * / => { et aucune déclaration de retour explicite, le La fonction renvoie non défini .



0
votes
return(
  names.map = (name, index) => {
    <Item key={index}>
      <IdName>{name.id}</IdName>
      <FirstName>{name.firstName}</FirstName>
      <LastName>{name.lastName}</LastName>
    </Item>
)

0 commentaires

0
votes

Les touches doivent être UNIQ, nous ne devrions pas utiliser index comme clé, je pense que votre identifiant de chaque profil est similaire aux valeurs d'index comme 1,2,3. Donc, il s'agit de meilleures clés utilisateur comme ci-dessous

return (names.map = name => {
<Item key={`NamesItem-${name.id}`}>
  <IdName>{name.id}</IdName>
  <FirstName>{name.firstName}</FirstName>
  <LastName>{name.lastName}</LastName>
</Item>)


0 commentaires