Rumah > Soal Jawab > teks badan
P粉4208682942023-09-04 13:44:33
Biasanya, useMemo
的作用是在渲染期间缓存昂贵计算的值。然而,在您的情况下,您没有任何昂贵的渲染计算;每次输入更改时,您只是渲染一个非常大的树。实际上,因为所有状态都在App
pada komponen, jadi keseluruhan apl dipaparkan semula setiap kali.
Cara untuk mengoptimumkan masalah ini dalam React ialah dengan melangkau komponen pemaparan apabila boleh. Untuk melakukan ini, bahagikan bahagian halaman yang tidak berkaitan kepada komponen yang berbeza. Sebaik sahaja anda memisahkan logik, bungkusnya dengan React.memo()
, teknik pengoptimuman berbeza yang boleh melangkau pemaparan komponen sepenuhnya.
Bagi saya, perubahan paling ketara yang boleh anda lakukan ialah:
TodosDatos
移出App
kerana ia tetap dan tidak perlu ditakrifkan semula pada setiap render (yang boleh mengambil ingatan). <Table>
anda ke dalam komponen baharu dan gunakan <Table>
放入一个新的组件中,并使用React.memo()
untuk mengingatinya. Pastikan untuk menghantar semua nilai kebergantungan jadual kepada prop komponen baharu. Saya melaksanakan perubahan ini di sini: https://codesandbox.io/s/green-breeze-mmum6n?file=/src/App.js. Anda kini harus perasan bahawa menaip hampir serta-merta. Anda juga boleh melakukan berbilang pengoptimuman di tempat lain untuk mendapatkan prestasi yang lebih baik.