Sobes.tech
Middle

Adj példákat arra, hogy mit lehet tenni a useEffect hookkal, a szerverhez való kérések mellett.

sobes.tech MI

Válasz az MI-től

  • Az oldal fejlécének állapotának kezelése (document.title).

  • Böngésző eseményekhez való feliratkozás és leiratkozás (pl. ablak méretének változtatása, kattintás az elem kívül):

    useEffect(() => {
      const handleResize = () => {
        console.log('Az ablak mérete megváltozott');
      };
      window.addEventListener('resize', handleResize);
    
      return () => {
        window.removeEventListener('resize', handleResize);
      };
    }, []); // Üres függőségi tömb: az effekt egyszer fut a felszereléskor és eltávolításkor is.
    
  • Helyi tárolóval való munka (adatok olvasása/írása):

    useEffect(() => {
      const savedValue = localStorage.getItem('myInputValue');
      if (savedValue) {
        setInputValue(savedValue); // Feltételezve, hogy van inputValue állapot és setInputValue függvény
      }
    }, []); // Érték betöltése felszereléskor.
    
    useEffect(() => {
      localStorage.setItem('myInputValue', inputValue); // Mentés az inputValue változásakor.
    }, [inputValue]); // Függőség az inputValue-tól.
    
  • Harmadik fél könyvtárak vagy komponensek inicializálása.

  • Időzítők (setTimeout, setInterval) beállítása és tisztítása:

    useEffect(() => {
      const timerId = setInterval(() => {
        console.log('Időzítő működik');
      }, 1000);
    
      return () => {
        clearInterval(timerId); // Intervallum tisztítása felszereléskor.
      };
    }, []);
    
  • Változások figyelése props vagy állapotban és reagálás ezekre.

  • Egy elem fókuszálása a komponens felszerelésekor:

    useEffect(() => {
      inputRef.current.focus(); // Feltételezve, hogy van ref inputRef
    }, []);