React menyediakan tiga alat utama untuk menghafal bagi mengoptimumkan prestasi komponen dengan meminimumkan pemaparan semula dan pengiraan semula yang tidak perlu:
1. useMemo – Menghafal Nilai Dikira
-
Tujuan: Menyimpan hasil pengiraan, hanya mengira semula jika kebergantungan berubah.
-
Penggunaan: Gunakan untuk pengiraan mahal atau data terbitan yang sepatutnya hanya dikemas kini dengan kebergantungan tertentu.
const memoizedValue = useMemo(() => complexCalculation(), [dependencies]);
-
Amalan Terbaik:
- Sertakan semua kebergantungan yang digunakan dalam fungsi dalam tatasusunan kebergantungan.
- Elakkan membuat rujukan baharu (tatasusunan, objek) atau fungsi sebaris dalam useMemo.
-
Nota: Jangan gunakan useMemo untuk fungsi; ia menyimpan nilai, bukan rujukan fungsi.
2. useCallback – Rujukan Fungsi Memoize
-
Tujuan: Menyimpan rujukan fungsi, menghalang penciptaan semula pada setiap paparan.
-
Penggunaan: Gunakan untuk rujukan fungsi yang stabil, terutamanya untuk panggilan balik (cth., pengendali acara) yang dihantar kepada komponen anak.
const memoizedFunction = useCallback(() => { /* logic */ }, [dependencies]);
-
Amalan Terbaik:
- Sertakan semua kebergantungan yang digunakan dalam fungsi dalam tatasusunan kebergantungan untuk mengelakkan nilai lapuk.
- Elakkan mengisytiharkan fungsi sebaris dalam useCallback, kerana ini boleh memecahkan hafalan.
-
Nota: Gunakan useCallback untuk fungsi sahaja. Penyalahgunaan useCallback untuk nilai mengakibatkan kod tidak cekap dengan panggilan fungsi yang tidak diperlukan.
3. React.memo – Hafalkan Keseluruhan Komponen
Perkara Utama yang Perlu Diingati
-
Gunakan useMemo untuk nilai dan gunakan Panggilan balik untuk fungsi.
-
Menggunakan useMemo untuk fungsi menghasilkan pelaksanaan serta-merta, bukan rujukan fungsi yang stabil.
-
Menggunakan useCallback untuk nilai mengembalikan fungsi, yang membawa kepada kod tidak cekap dengan panggilan fungsi tambahan.
-
Ringkasan Menghafal:
-
useMemo: Cache nilai yang dikira (nilai pulangan fungsi).
-
gunakan Panggilan Balik: Cache rujukan fungsi (panggilan balik).
-
React.memo: Cache keseluruhan komponen berdasarkan prop untuk menghalang pemaparan semula daripada kemas kini induk.
-
Gunakan Memoisasi secara Selektif: Memoisasi meningkatkan prestasi apabila digunakan dengan betul tetapi boleh menambah kerumitan jika digunakan secara berlebihan atau disalahgunakan.
Atas ialah kandungan terperinci Lembaran Cheat Memoisasi React. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn