⊗jsrtPmHkUEGH 6 of 47 menu

React'ta useEffect ile Global İşleyiciler

Şimdi, rengin sadece butona tıklayınca değil, aynı zamanda klavyeden Enter tuşuna basınca da değişmesini istediğimizi varsayalım. Normal React yaşamında, global window nesnesini dinlemek için addEventListener kullanamayız. Bunun için effect'lerimiz var. Haydi bunu useEffect kullanarak ekleyelim.

Enter tuşuna basıldığında çalışacak bir işleyici fonksiyonu yazalım. Bu durumda rengin kırmızıya dönmesine izin verelim:

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

Şimdi olay dinleyicisini useEffect hook'u içinde window'a bağlayalım:

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

Eğer herhangi bir kurulum fonksiyonumuz varsa, ileride sorunlardan kaçınmak için her zaman useEffect içinde bir temizlik veya işlemi sonlandırma kodu döndürmemiz gerekir. Bu durumda, addEventListener ekledikten sonra onu kaldırmayı döndürmemiz gerekir:

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

Bir bileşen verilmiştir. Sayfanın herhangi bir yerine tıklandığında bu bileşenin arka plan renginin değişmesini sağlayın.

Tıklandığında bir bloğun görünmesini sağlayan bir bağlantı yapın. Tarayıcı penceresinin herhangi bir yerine tıklandığında bloğumuzun gizlenmesini sağlayın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet