0
votes

Pourquoi ne puis-je pas retourner un objet dans réact

Pourquoi cela renvoie-t-il toujours un non défini dans réagir avec REDUX?

searchCustomer = id =>{
customers = [...this.props.data];
customers.forEach(customer=>){if(customer.id === id){return customer}};
}

customerDetails = e =>{
const customer = this.searchCustomer(id);
console.log(customer);

}


1 commentaires

foreach (client =>) doit être une erreur de syntaxe. Êtes-vous sûr que votre code est ce que vous nous montrez?


3 Réponses :


-1
votes

Vous ne retournez rien à partir de SearchComptomer . Il devrait être xxx


0 commentaires

1
votes

Vous ne pouvez pas retourner la valeur de la boucle Foreach code> comme ça ... Essayez d'utiliser code> Find CODE> Fonction, c'est MUHC plus facile ...

searchCustomer = id => {
    return this.props.data.find(customer => customer.id === id)
}

customerDetails = e => {
    const customer = this.searchCustomer(id);
    console.log(customer);
}


5 commentaires

Pourquoi filtre et non trouver`?


Trouvez l'arrêt lorsque la première condition de rappel est vraie, le but est de trouver tous les clients avec cet identifiant, je suppose. Vous pouvez réduire le code en faisant ceci: id => [... ceci.props.data] .filter (client => client.id === id);


Vous pouvez utiliser trouver aussi, il s'arrêtera après avoir trouvé un


Code mis à jour avec Rechercher et utiliser directement cela.props.data sans copier les données


@ Yanis-git: le code d'origine a un retour (singulier) à l'intérieur d'un foreach (qui termine la boucle tôt); De plus (bien que non explicitement une partie de la question), un ID qui correspond à plusieurs objets n'est pas vraiment un ID . Quelle est la base de votre opinion que l'objectif ici est de trouver tous les clients avec ce ID ?



2
votes

Parce que vous ne pouvez pas retourner dans foreach

changer sur xxx


1 commentaires

Merci beaucoup plus facile!