Array.prototype.map() espera un valor de retorno de la función de flecha: corregir
El mensaje de error » Array.prototype.map() espera un valor de retorno de la función de flecha » puede aparecer en Javascript. Hay varios escenarios en los que puede enfrentar este problema y existen múltiples formas de evitarlo. Generalmente, al usar la función » Array.prototype.map() «, si no devuelve nada (nulo) durante la ejecución del código. De lo contrario, si ha cometido un error en los pasos anteriores relacionados con el método de filtrado, también puede aparecer el mismo mensaje de error.
Solución: 1 Reemplace el paréntesis
Normalmente el paréntesis escrito en el código no induce ningún error. Pero, en este caso, el uso de {}, en lugar de () en el código.
Ejemplo – Este fragmento de código –
{
Si (Object.keys(t.pr.part).map((par) => {
if(t.pr.part[par].user_identifiant === getUrlParams(window.location.hash).user_identifiant)
this.setState({
par:t.pr.part[parte].id_user
})
})
}
Esta parte del código recibirá el mensaje » Se espera que devuelva un valor en la función de flecha «. Para solucionar este problema, simplemente cambie este » ({ » a » (( » en el código.
El fragmento de código se verá así:
Object.keys(t.pr.part).map((par) => {
if(t.pr.part[par].user_identifiant === getUrlParams(window.location.hash).user_identifiant)
this.setState((
par:t.pr.part[parte].id_user
))
)}
))
De esta manera, puede solucionar problemas con el código.
Solución 2: use ForEach en lugar de Array.map
En lugar de utilizar la función Array.map, utilice la función Array.ForEach en el código para lograr los mismos resultados.
La función Foreach en lugar de usar el método map se puede usar si la función particular del código no necesita devolver ningún valor.
Ejemplo –
ListService?.map((service, j) => {
devolver (
<Clave de servicio principal={servicio.id} {…{servicio, num: j }} />
)
})
Puede reemplazar la función del mapa principal y modificar el código de esta manera:
ListService?.forEach((item) => {
csvData.push({
«Nombre»: elemento?.nombre,
«Trabajo»: elemento?.desc,
})
})
De esta manera, puede omitir la función Array.map por completo y evitar recibir el mensaje de valor de retorno.
Solución 3: devolver el valor nulo
Debe incluir una condición else al final del código y permitir que devuelva el valor nulo, si la función Array.map no puede iterar ningún valor.
Es muy fácil. Solo incluye esto –
else {
devolver nulo:
}
}
Solo tenga cuidado con los paréntesis y ejecute el código. A continuación, compila y ejecuta el código y pruébalo.
Siempre que el código falle, al menos iterará un valor nulo, no el mensaje de error » Array.prototype.map() espera un valor de retorno de la función de flecha «.
Solución 4: use el código de filtro
Hay otra manera de abordar este problema. Utilice » ArrayPrototype.filter() » en lugar de Array.prototype.map(), si el requisito es segregar valores en función de algunos parámetros.
La sintaxis principal de este código es:
let newArray = array.filter(callback(element[, index[, array]])[, thisArg])
Este es un método incorporado que puede filtrar todo el conjunto de datos que cumple con las condiciones de la función especificada.
Estas son las formas en que puede solucionar problemas del mensaje de valor de retorno en Javascript.
Deja una respuesta