recherche

Maison  >  Questions et réponses  >  le corps du texte

UseMemo n'a pas de valeur de retour

J'ai le scénario suivant. Je passe un tableau d'objets (maisons) au composant. Ensuite, je veux le parcourir dans la fonction useMemo et l'afficher dans la méthode de retour. Cependant, je ne vois rien. UseMemo est appelé et s'exécute mais comme je l'ai dit je ne vois aucun objet

export default function CompactView({ houses }) {

const houseMemo = useMemo(() => {
houses?.map((house) => {
  return (
       <div>
        ...
       </div>              
     );
   });
}, [houses]);

return (
<>
 ...
  <div>
    {houseMemo}
  </div>
</>

 );
}

P粉547420474P粉547420474276 Il y a quelques jours308

répondre à tous(1)je répondrai

  • P粉683665106

    P粉6836651062024-02-27 00:00:55

    Le problème que vous rencontrez concerne les fonctions fléchées dans useMemo. Il manque une instruction return. Votre code devrait ressembler à ceci :

    const houseMemo = useMemo(() => {
    return houses?.map((house) => {
      return (
           
    ...
    ); }); }, [houses]);

    Notez le retour avant houses?.map ou vous pouvez le modifier par :

    const houseMemo = React.useMemo(
        () =>
          houses?.map((house) => {
            return 
    ...
    ; }), [houses] );

    Dans le deuxième exemple de code, j'ai supprimé les crochets {} à l'intérieur du rappel useMemo. J'espère que cela vous aidera

    répondre
    0
  • Annulerrépondre