cari

Rumah  >  Soal Jawab  >  teks badan

UseMemo tidak mempunyai nilai pulangan

Saya mempunyai senario berikut. Saya menghantar pelbagai objek (rumah) kepada komponen. Kemudian saya ingin mengulanginya dalam fungsi useMemo dan memaparkannya dalam kaedah pulangan. Namun, saya tidak nampak apa-apa. UseMemo dipanggil dan dijalankan, tetapi seperti yang saya katakan, saya tidak nampak sebarang objek

export default function CompactView({ houses }) {

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

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

 );
}

P粉547420474P粉547420474276 hari yang lalu309

membalas semua(1)saya akan balas

  • P粉683665106

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

    Masalah yang anda hadapi ialah dengan fungsi anak panah dalam useMemo. Ia tiada penyata pulangan. Kod anda sepatutnya kelihatan seperti ini:

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

    Perhatikan pulangan sebelum houses?.map atau anda boleh menukarnya kepada:

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

    Dalam contoh kod kedua, saya mengalih keluar kurungan {} dalam panggilan balik useMemo. Semoga ia membantu anda

    balas
    0
  • Batalbalas