Middle
Uveďte příklady toho, co lze dělat s hookem useEffect, kromě odesílání požadavků na server.
sobes.tech AI
Odpověď od AI
-
Správa stavu záhlaví stránky (
document.title). -
Přihlášení a odhlášení k událostem prohlížeče (například změna velikosti okna, kliknutí mimo prvek):
useEffect(() => { const handleResize = () => { console.log('Velikost okna se změnila'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); // Prázdné pole závislostí: efekt se spustí jednou při montáži a odstraní při odmontáži. -
Práce s místním úložištěm (čtení/zápis dat):
useEffect(() => { const savedValue = localStorage.getItem('myInputValue'); if (savedValue) { setInputValue(savedValue); // Předpokládá se, že existuje stav inputValue a funkce setInputValue } }, []); // Načtení hodnoty při montáži. useEffect(() => { localStorage.setItem('myInputValue', inputValue); // Uložení při změně inputValue. }, [inputValue]); // Závislost na inputValue. -
Inicializace knihoven nebo komponent třetích stran.
-
Nastavení a čištění časovačů (
setTimeout,setInterval):useEffect(() => { const timerId = setInterval(() => { console.log('Časovač běží'); }, 1000); return () => { clearInterval(timerId); // Vyčištění intervalu při odmontování. }; }, []); -
Sledování změn v props nebo stavu a reakce na ně.
-
Zaostření na prvek při montáži komponenty:
useEffect(() => { inputRef.current.focus(); // Předpokládá se, že existuje ref inputRef }, []);