Middle
Pateikite pavyzdžių, ką galima daryti su useEffect hook'u, išskyrus užklausų siuntimą į serverį.
sobes.tech AI
Atsakymas iš AI
-
Puslapio antraštės būsenos valdymas (
document.title). -
Stebėjimas ir atšaukimas nuo naršyklės įvykių (pavyzdžiui, lango dydžio keitimas, paspaudimai už elemento ribų):
useEffect(() => { const handleResize = () => { console.log('Lango dydis pasikeitė'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); // Tuščias priklausomybių masyvas: efektas vykdomas vieną kartą montuojant ir atšaukiamas išmontuojant. -
Darbas su vietiniu saugykla (duomenų skaitymas/rašymas):
useEffect(() => { const savedValue = localStorage.getItem('myInputValue'); if (savedValue) { setInputValue(savedValue); // Tikimasi, kad yra būsenos inputValue ir funkcija setInputValue } }, []); // Vertės įkėlimas montuojant. useEffect(() => { localStorage.setItem('myInputValue', inputValue); // Išsaugojimas keičiant inputValue. }, [inputValue]); // Priklausomybė nuo inputValue. -
Trečiųjų šalių bibliotekų ar komponentų inicializavimas.
-
Timers (
setTimeout,setInterval) nustatymas ir valymas:useEffect(() => { const timerId = setInterval(() => { console.log('Laikmatis veikia'); }, 1000); return () => { clearInterval(timerId); // Intervalo išvalymas išmontuojant. }; }, []); -
Stebėjimas, kaip keičiasi props ar būsenos, ir veiksmų atlikimas šiuo pagrindu.
-
Fokusavimas į elementą montuojant komponentą:
useEffect(() => { inputRef.current.focus(); // Tikimasi, kad yra ref inputRef }, []);