Comment la carte à l'intérieur d'une carte de fonction dans reactjs
J'ai mon tableau.Et j'ai posfields qu'au perfectionnement de l'affichage par
à l'aide de la carte de fonction.Mais mon problème est quand je suis en train de carte de td à l'intérieur de posfields carte en fonction de ses en me jetant à l'erreur ""en-têtes "undefined".
{
this.POSFields.map(function (posFields, POSFieldsId) {
return (
<tr>
<td className="posheader" key={POSFieldsId} value={posFields.POSFieldsId}
{posFields.POSFields} </td>
<td>
<select className="selectpicker">
<option value="">Select Value</option>
{this.headers.map(function (headers) {
return (
<option key={headers}>{headers}</option>
);
})}
</select>
</td>
</tr>
)
})
}
- Utilisez la flèche fonctions à la fois les fonctions de mappage
this.POSFields.map((posFields, POSFieldsId) => {
- Cela semble être pas défini à l'intérieur de la deuxième carte. Avez-vous essayé de modifier les fonctions transmis à la carte méthodes de flèche fonctions?
- Ok, je suis en retard 🙂
- Double Possible de "this" n'est pas défini à l'intérieur de la carte de fonction Reactjs
- Double Possible de Réagir "impossible de lire la propriété de l'indéfini" lors de l'utilisation de la carte
Vous devez vous connecter pour publier un commentaire.
Comme @Andrew l'a déjà suggéré, vous devez utiliser
arrow
fonctions afin d'être en mesure d'accéder àthis
à l'intérieur de votre carte. - Vous actuellement lâche le contexte dethis
POSFields
est un tableau? Comment avez-vous déclarer votre fonction? Avez-vous lier votre fonction?myFunction = () => {..}
?headers
ressembler? Avez-vous essayé deconsole.log(this.headers)
?Lier fonction map pour avoir accès à
this
contexte:Ou la flèche fonctions
this.POSFields.map((posFields, POSFieldsId) => {
j'ai l'habitude d'utiliser une fonction à l'intérieur d'une fonction pour renvoyer la carte func
C'est la même chose que @Nocebo répondu, mais avec un peu de correction sur les touches. Ils devraient être dans la balise plutôt dans celui ci-dessous. Si vous ouvrez vous navigateurs console, vous verrez un message d'avertissement à ce sujet: