Sobes.tech
Middle

useEffect hooku менен эмне жасоо мүмкүн экендигинин мисалдарын бериңиз, серверге суроо-талаптар жөнөтүүдөн башка.

sobes.tech AI

AIден жооп

  • Барак башчалыгынын абалын башкаруу (document.title).

  • Браузер окуяларына жазылуу жана жазылуудан чыгуу (мисалы, терезе өлчөмүн өзгөртүү, элементтен тышкары басуу):

    useEffect(() => {
      const handleResize = () => {
        console.log('Терезе өлчөмү өзгөрдү');
      };
      window.addEventListener('resize', handleResize);
    
      return () => {
        window.removeEventListener('resize', handleResize);
      };
    }, []); // Бос көз карандысыздык тизмеси: эффект бир жолу монтажда ишке ашырылат жана ажыратылгандан кийин тазаланады.
    
  • Жергиликтүү сактагыч менен иштөө (маалыматтарды окуу/жазуу):

    useEffect(() => {
      const savedValue = localStorage.getItem('myInputValue');
      if (savedValue) {
        setInputValue(savedValue); // InputValue абалы жана setInputValue функциясы бар деп эсептелет
      }
    }, []); // Монтажда маанини жүктөө.
    
    useEffect(() => {
      localStorage.setItem('myInputValue', inputValue); // Өзгөргөндө сактоо
    }, [inputValue]); // inputValue көз карандысы
    
  • Үчүнчү тарап китепканалары же компоненттерин баштоо.

  • Таймерлерди орнотуу жана тазалоо (setTimeout, setInterval):

    useEffect(() => {
      const timerId = setInterval(() => {
        console.log('Таймер иштеп жатат');
      }, 1000);
    
      return () => {
        clearInterval(timerId); // Интервалды тазалоо
      };
    }, []);
    
  • Өзгөрүүлөрдү көзөмөлдөө жана реакция кылуу:

    useEffect(() => {
      // Өзгөрүүлөргө жооп берүү аракеттери
    }, [props, state]);
    
  • Компонтентти монтаждаганда элементке фокус коюу:

    useEffect(() => {
      inputRef.current.focus(); // inputRef рефери бар деп эсептелет
    }, []);