Ini kod tindak balas saya. Ia menjadikan komponen itu dipaparkan semula tanpa had:
const [seconds, setSeconds] = useState(60) useEffect(() => { const interval = setInterval(() => { setSeconds(seconds => seconds - 1); }, 1000); return () => clearInterval(interval); }, []); console.log("object");
Ini berlaku kerana anda hanya mengosongkan selang apabila komponen memunggah, yang hanya berlaku apabila pengguna menavigasi keluar dari halaman.
Mungkin ini yang anda perlukan? Apabila selang mencapai 0, saya mengosongkannya. Tetapi untuk ini saya perlu menggunakan rujukan, saya tidak boleh menggunakan keadaan dari setInterval kerana ia hanya mempunyai nilai awal: