Middle
Uveďte príklady toho, čo je možné robiť s hookom useEffect, okrem odosielania požiadaviek na server.
sobes.tech AI
Odpoveď od AI
-
Riadenie stavu hlavičky stránky (
document.title). -
Prihlásenie a odhlásenie z udalostí prehliadača (napríklad zmena veľkosti okna, kliknutia mimo prvku):
useEffect(() => { const handleResize = () => { console.log('Veľkosť okna sa zmenila'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); // Prázdny zoznam závislostí: efekt sa vykoná raz pri montáži a odstráni pri demontáži. -
Práca s lokálnym úložiskom (čítanie/zápis dát):
useEffect(() => { const savedValue = localStorage.getItem('myInputValue'); if (savedValue) { setInputValue(savedValue); // Predpokladá sa, že existuje stav inputValue a funkcia setInputValue } }, []); // Načítanie hodnoty pri montáži. useEffect(() => { localStorage.setItem('myInputValue', inputValue); // Uloženie pri zmene inputValue. }, [inputValue]); // Závislosť od inputValue. -
Inicializácia knižníc alebo komponentov tretích strán.
-
Nastavenie a čistenie časovačov (
setTimeout,setInterval):useEffect(() => { const timerId = setInterval(() => { console.log('Časovač funguje'); }, 1000); return () => { clearInterval(timerId); // Čistenie intervalu pri demontáži. }; }, []); -
Sledovanie zmien v props alebo stave a vykonávanie akcií ako reakcie.
-
Zameranie na prvok pri montáži komponentu:
useEffect(() => { inputRef.current.focus(); // Predpokladá sa, že existuje ref inputRef }, []);