Rumah > Soal Jawab > teks badan
Andaikan saya berada dalam situasi ini:
const [data, setData] = useState([]);
dan masukkan ke dalam useImperativeHandle
seperti ini:
useImperativeHandle(ref, () => ({ data, }));
Apabila saya menggunakan useEffect
untuk menjejaki jika keadaan berubah seperti ini:
useEffect(() => { console.log(componentRef.current.data); }, [componentRef.current.data])
Tak berkesan cuma kalau check manual macam ada butang onClick
akan print kalau tak stateful. Kenapa ini terjadi? Adakah terdapat cara lain untuk menjadikannya berfungsi? Atau adakah ia satu-satunya cara untuk memindahkan keadaan kepada ibu bapa?
P粉6749994202024-04-01 18:22:37
Komponen
useEffect
不是反应式的。它不跟踪事物。它只是比较渲染之间的依赖关系,如果有差异,它就会执行给定的回调。具有 useEffect
harus memaparkan semula untuk melaksanakan fungsi ini.
Apa yang boleh anda lakukan ialah menyampaikan panggilan balik daripada ibu bapa kepada anak supaya anak boleh memanggilnya apabila ia bertukar keadaan