⊗jsrtPmHkUEGH 6 of 47 menu

Penangan Global melalui useEffect di React

Anggaplah sekarang kita ingin warna berubah tidak hanya dengan mengklik tombol, tetapi juga dengan menekan tombol Enter pada keyboard. Dalam kehidupan React biasa, menggunakan addEventListener untuk mendengarkan objek global window tidak diperbolehkan. Untuk itu, kita memiliki efek. Mari tambahkan aksi ini menggunakan useEffect.

Tulis fungsi penangan untuk klik pada Enter. Biarkan warnanya dalam hal ini berubah menjadi merah:

function handleEnter(event) { if (event.keyCode === 13) { setColor('red'); } }

Sekarang pasang pendengar event ke window dalam hook useEffect:

useEffect(() => { document.body.style.color = color; window.addEventListener('keydown', handleEnter); }, [color]);

Jika kita memiliki semacam fungsi pemasangan, maka kita selalu perlu mengembalikan kode pembersihan atau pembatalan pendaftaran dalam useEffect untuk menghindari masalah di kemudian hari. Dalam kasus ini, setelah melampirkan addEventListener, kita perlu mengembalikan penghapusannya:

useEffect(() => { document.body.style.color = color; window.addEventListener('keydown', handleEnter); return () => { window.removeEventListener('keydown', handleEnter); }; }, [color]);

Diberikan sebuah komponen. Buatlah sehingga dengan mengklik di mana saja pada halaman, latar belakang komponen ini berubah warna.

Buatlah sebuah tautan, yang ketika ditekan akan memunculkan sebuah blok. Buatlah sehingga dengan menekan di mana saja pada jendela browser blok kita akan tersembunyi.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak