Array.prototype.map() attend une valeur de retour de la fonction flèche : Fix
L’invite d’erreur « Array.prototype.map() attend une valeur de retour de la fonction Arrow » peut apparaître en Javascript. Il existe plusieurs scénarios dans lesquels vous pouvez être confronté à ce problème et il existe plusieurs moyens de contourner ce problème. Généralement, lors de l’utilisation de la fonction « Array.prototype.map() », si elle ne renvoie rien (null) pendant l’exécution du code. Sinon, si vous avez commis une erreur lors des étapes précédentes impliquant la méthode de filtrage, le même message d’erreur peut également apparaître.
Correctif – 1 Remplacer la parenthèse
Normalement, la parenthèse écrite dans le code n’induit aucune erreur. Mais, dans ce cas, l’utilisation de {}, au lieu de () dans le code.
Exemple – Cet extrait de code –
{
Si (Object.keys(t.pr.part).map((par) => {
if(t.pr.part[par].identifiant_user === getUrlParams(window.location.hash).identifiant_user)
this.setState({
par:t.pr.part[part].id_user
})
})
}
Cette partie du code recevra le message « Devrait renvoyer une valeur dans la fonction fléchée ». Pour résoudre ce problème, remplacez simplement ce « ({ » par « (( » dans le code.
L’extrait de code ressemblera à ceci :
Object.keys(t.pr.part).map((par) => {
if(t.pr.part[par].identifiant_user === getUrlParams(window.location.hash).identifiant_user)
this.setState((
par:t.pr.part[part].id_user
))
)}
))
De cette façon, vous pouvez dépanner le code.
Correctif 2 – Utilisez ForEach à la place de Array.map
Au lieu d’utiliser la fonction Array.map, utilisez la fonction Array.ForEach dans le code pour obtenir les mêmes résultats.
La fonction Foreach au lieu d’utiliser la méthode map peut être utilisée si la fonction particulière du code n’a pas besoin de renvoyer de valeur.
Exemple –
ListService?.map((service, j) => {
retour (
<Clé du service principal={service.id} {…{service, num : j }} />
)
})
Vous pouvez remplacer la fonction de carte principale et modifier le code de cette façon –
ListService?.forEach((item) => {
csvData.push({
« Nom »: élément?.nom,
« Travail »: élément?.desc,
})
})
De cette façon, vous pouvez contourner complètement la fonction Array.map et éviter de recevoir le message de valeur de retour.
Correctif 3 – Renvoie la valeur nulle
Vous devez inclure une condition else à la fin du code et la laisser renvoyer la valeur nulle, si la fonction Array.map ne peut itérer aucune valeur.
C’est très facile. Incluez simplement ceci –
else {
renvoie null :
}
}
Faites juste attention aux parenthèses et exécutez le code. Ensuite, compilez et exécutez le code et testez.
Chaque fois que le code échoue, il itérera au moins une valeur nulle, et non le message d’erreur « Array.prototype.map() attend une valeur de retour de la fonction Arrow ».
Correctif 4 – Utilisez le code du filtre
Il existe une autre façon de résoudre ce problème. Utilisez « ArrayPrototype.filter() » à la place de Array.prototype.map(), si l’exigence est de séparer les valeurs en fonction de certains paramètres.
La syntaxe principale de ce code est –
let newArray = array.filter(callback(element[, index[, array]])[, thisArg])
Il s’agit d’une méthode intégrée qui peut filtrer l’ensemble des données qui répondent à la condition de la fonction spécifiée.
Voici comment résoudre les problèmes liés au message de valeur de retour en Javascript.
Laisser un commentaire