0
votes

Itération de la matrice à l'intérieur de l'objet dans JSX donnant indéfini

Je vais chercher des données de mon API: xxx pré>

La structure du projet est comme ceci: p> xxx pré>

maintenant à l'intérieur de ma fonction de retour, J'ai besoin de boucler à travers tous les commentaires et de les rendre caparément chaque commentaire d'une ligne différente, donc j'ai utilisé ce code: p> xxx pré>

Je reçois cette erreur: p>

TypeError: Cannot read property 'map' of undefined


0 commentaires

3 Réponses :


2
votes

Je pense que vous êtes cartographié sur le mauvais ceci, cette ligne: this.state.commation.map ((Commentaire) => { devrait être this.state.projecte.commation.map ((Commentaire) => {


1 commentaires

J'ai corrigé, pas comme ça



0
votes

Ce que je peux voir de votre code, c'est que vous cartographiez les «commentaires», mais vous mettez à jour le projet et que vous devez également aimer

this.state.project.map((project)=>{
   return (
               <p><i class="fas fa-chevron-right"></i> { project.comments } </p>
          );
})


1 commentaires

projet est un objet, pas un tableau



2
votes

Vous essayez de .map code> sur une valeur qui est non définie code>. C'est probablement parce que ceci.state.project.comments code> n'est pas défini pendant que vous êtes extraire code> ing, mais réagit essaie toujours de faire le rendu initial.

faire. Bien sûr, vous définissez un état initial quelque part, comme p> xxx pré>

alternativement, vous pouvez donner une valeur par défaut à droite lorsque vous appelez .map code>: p >

(this.state.project.comments || []).map((comment) => {


1 commentaires

merci, cela a résolu le problème .. je pense que c'est indéfini pour un peu seulement