Array.prototype.map() espera um valor de retorno da função de seta: Fix
A mensagem de erro “ Array.prototype.map() espera um valor de retorno da função Arrow ” pode aparecer em Javascript. Existem vários cenários em que você pode enfrentar esse problema e existem várias formas de contornar esse problema. Geralmente, ao usar a função “ Array.prototype.map() ”, ela não retorna nada (nulo) durante a execução do código. Caso contrário, se você cometeu um erro nas etapas anteriores envolvendo o método de filtro, a mesma mensagem de erro também poderá surgir.
Correção – 1 Substitua o parêntese
Normalmente os parênteses escritos no código não induzem nenhum erro. Mas, neste caso, o uso de {}, em vez de () no código.
Exemplo – Este trecho do código –
{
If (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 do código receberá a mensagem “ Espera-se que retorne um valor na função de seta ”. Para corrigir isso, simplesmente altere “ ({ ” para “ (( ” no código.
O trecho de código ficará assim –
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
))
)}
))
Dessa forma, você pode solucionar problemas do código.
Correção 2 – Use ForEach em vez de Array.map
Em vez de usar a função Array.map, use a função Array.ForEach no código para obter os mesmos resultados.
A função Foreach, em vez de usar o método map, pode ser usada se a função específica do código não precisar retornar nenhum valor.
Exemplo –
ListService?.map((service, j) => {
retornar (
<Chave do serviço principal={service.id} {…{service, num: j }} />
)
})
Você pode substituir a função do mapa principal e alterar o código desta forma –
ListService?.forEach((item) => {
csvData.push({
“Nome”: item?.nome,
“Trabalho”: item?.desc,
})
})
Dessa forma, você pode ignorar completamente a função Array.map e evitar receber a mensagem do valor de retorno.
Correção 3 – Retornar o valor nulo
Você deve incluir uma condição else no final do código e deixá-la retornar o valor nulo, se a função Array.map não puder iterar nenhum valor.
Isso é muito fácil. Basta incluir isso –
else {
retornar nulo:
}
}
Apenas tome cuidado com os parênteses e execute o código. Em seguida, compile e execute o código e teste.
Sempre que o código falhar, ele irá pelo menos iterar um valor nulo, não a mensagem de erro “ Array.prototype.map() espera um valor de retorno da função Arrow ”.
Correção 4 – Use o código de filtro
Existe outra maneira de lidar com esse problema. Use “ ArrayPrototype.filter() ” no lugar de Array.prototype.map(), se o requisito for segregar valores com base em alguns parâmetros.
A sintaxe principal deste código é –
let newArray = array.filter(callback(element[, index[, array]])[, thisArg])
Este é um método integrado que pode filtrar todo o conjunto de dados que atende à condição da função especificada.
Estas são as maneiras de solucionar o problema da mensagem de valor de retorno em Javascript.
Deixe um comentário