Sobes.tech
Middle

Andke näite, mida saab teha useEffect hookiga, välja arvatud päringute tegemist serverile.

sobes.tech AI

Vastus AI-lt

  • Lehe pealkirja oleku haldamine (document.title).

  • Paanek ja eemaldamine brauseri sündmustest (näiteks akna suuruse muutmine, klõpsud väljaspool elementi):

    useEffect(() => {
      const handleResize = () => {
        console.log('Aknaruum on muutunud');
      };
      window.addEventListener('resize', handleResize);
    
      return () => {
        window.removeEventListener('resize', handleResize);
      };
    }, []); // Tühi sõltuvuste massiiv: efekt käivitub üks kord montimisel ja eemaldatakse demontimisel.
    
  • Töö kohaliku salvestusruumiga (andmete lugemine/salvestamine):

    useEffect(() => {
      const savedValue = localStorage.getItem('myInputValue');
      if (savedValue) {
        setInputValue(savedValue); // Eeldatakse, et on olek inputValue ja funktsioon setInputValue
      }
    }, []); // Väärtuse laadimine montimisel.
    
    useEffect(() => {
      localStorage.setItem('myInputValue', inputValue); // Salvestamine, kui inputValue muutub.
    }, [inputValue]); // Sõltuvus inputValue-st.
    
  • Kolmanda osapoole teekide või komponentide initsialiseerimine.

  • Taimerite (setTimeout, setInterval) seadistamine ja puhastamine:

    useEffect(() => {
      const timerId = setInterval(() => {
        console.log('Taimer töötab');
      }, 1000);
    
      return () => {
        clearInterval(timerId); // Intervalli puhastamine demontimisel.
      };
    }, []);
    
  • Muutuste jälgimine props-ide või oleku muutustes ning tegevuste tegemine nende põhjal.

  • Fookuse seadmine elemendile komponendi montimisel:

    useEffect(() => {
      inputRef.current.focus(); // Eeldatakse, et on ref inputRef
    }, []);