Latihan 1: useEffect Lanjutan — React

Latihan 1 dari materi useEffect Lanjutan di React — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Bikin timer yang menampilkan detik berjalan di <span id="timer">, mulai dari 0. Kode awal sudah punya state seconds dari useState(0) dan <span id="timer">{seconds}</span>. Biarkan keduanya.

  1. Di dalam App, panggil useEffect. Argumen keduanya dependency array kosong, jadi effect-nya ditutup dengan }, []) dan timernya dipasang sekali.
  2. Di dalam effect, pasang setInterval dengan jeda 1000 ms. Function di dalam setInterval memanggil setSeconds untuk menaikkan angkanya 1, dengan updater function setSeconds((s) => s + 1). setSeconds(seconds + 1) di sini membeku di 1, karena effect dengan [] cuma pernah melihat seconds bernilai 0.
  3. Simpan id-nya (const id = setInterval(...)), lalu return cleanup berbentuk arrow function, return () => ..., yang memanggil clearInterval(id).

Yang dicek: #timer ada, kodenya memakai useState, useEffect, setInterval yang memanggil setter dengan updater function, return () => yang berisi clearInterval, dan dependency array kosong []. useState dan useEffect sudah tersedia di editor. Baris import boleh ditulis seperti di proyek sungguhan, tapi gak wajib.

Hint