Sobes.tech
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
    }, []);