Adakah React memaparkan semula semua komponen dan subkomponennya apabila "setState()" adalah digunakan?
Ya, React mencetuskan pemaparan semula secara lalai selepas "setState()" dipanggil.
Walaupun React bertujuan untuk mengoptimumkan pemaparan, ia menghalang pepijat halus yang disebabkan oleh mutasi keadaan dengan sentiasa jalankan semula kaedah "render" apabila keadaan berubah.
Setiap komponen mempunyai kaedah yang dipanggil "shouldComponentUpdate(nextProps, nextState)". Kaedah ini menentukan sama ada untuk menjalankan semula "render" berdasarkan perubahan pada prop dan keadaan.
Secara lalai, "shouldComponentUpdate" mengembalikan benar, memastikan pemaparan semula berlaku setiap kali keadaan atau props tukar.
Dalam coretan kod yang disediakan, komponen Utama menetapkan keadaannya kepada nilai yang sama ('saya') apabila teks diklik. Walaupun keadaan tidak berubah, React masih memaparkan semula kedua-dua komponen Utama dan TimeInChild kerana "shouldComponentUpdate" mengembalikan benar secara lalai.
Anda boleh mengoptimumkan pemaparan dengan menulis pelaksanaan tersuai "shouldComponentUpdate" yang membandingkan prop dan keadaan lama dan baharu untuk menentukan sama ada paparan semula sebenar adalah perlu.
Atas ialah kandungan terperinci Adakah React Re-render Komponen Selepas Setiap Panggilan `setState()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!