Middle
Dajte primere šta se može uraditi sa hook-om useEffect, osim slanja zahteva na server.
sobes.tech АИ
Одговор од АИ
-
Upravljanje stanjem naslova stranice (
document.title). -
Pretplata i odjava na događaje pretraživača (npr. promena veličine prozora, klikovi van elementa):
useEffect(() => { const handleResize = () => { console.log('Veličina prozora se promenila'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); // Prazan niz zavisnosti: efekat se izvršava jednom pri montiranju i uklanja pri demontiranju. -
Rad sa lokalnim skladištem (čitanje/zapis podataka):
useEffect(() => { const savedValue = localStorage.getItem('myInputValue'); if (savedValue) { setInputValue(savedValue); // Pretpostavlja se da postoji stanje inputValue i funkcija setInputValue } }, []); // Učitavanje vrednosti pri montiranju. useEffect(() => { localStorage.setItem('myInputValue', inputValue); // Čuvanje pri promeni inputValue. }, [inputValue]); // Zavisnost od inputValue. -
Inicijalizacija biblioteka ili komponenti treće strane.
-
Podešavanje i čišćenje tajmera (
setTimeout,setInterval):useEffect(() => { const timerId = setInterval(() => { console.log('Tajmer radi'); }, 1000); return () => { clearInterval(timerId); // Čišćenje intervala pri demontiranju. }; }, []); -
Praćenje promena u props ili stanju i izvršavanje radnji kao odgovor.
-
Fokusiranje na element pri montiranju komponenta:
useEffect(() => { inputRef.current.focus(); // Pretpostavlja se da postoji ref inputRef }, []);