⊗jsrtPmHkUEGH 6 of 47 menu

Pengendali Global melalui useEffect dalam React

Katakan sekarang kita mahu warna ditukar bukan sahaja dengan mengklik tetapi juga dengan menekan kekunci Enter pada papan kekunci. Dalam kehidupan React biasa, mendengar objek global window menggunakan addEventListener tidak dibenarkan. Untuk itu, kita mempunyai kesan. Mari tambahkan tindakan ini menggunakan useEffect.

Tulis fungsi pengendali untuk klik pada Enter. Biarkan warna dalam kes ini bertukar kepada merah:

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

Sekarang, sambungkan pendengaran peristiwa kepada window dalam hook useEffect:

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

Jika kita mempunyai sebarang fungsi persediaan, maka kita sentiasa perlu mengembalikan kod pembersihan atau nyahlanggan dalam useEffect untuk mengelakkan masalah pada masa hadapan. Dalam kes ini, kita perlu mengembalikan penyingkirannya selepas melampirkan addEventListener:

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

Diberi komponen. Buat supaya dengan mengklik di mana-mana tempat pada halaman, latar belakang komponen ini menukar warna.

Buat pautan, apabila ditekan blok akan muncul. Buat supaya dengan menekan di mana-mana tempat pada tetingkap pelayar blok kami disembunyikan.

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