Назад к вопросам
Senior
4
Расскажи про хук useEffect — что он делает и как работает?
Компании, где спрашивали
АйтиФаундейшн
Ответ от нейросети
sobes.tech AI
useEffect — это хук в React, который позволяет выполнять побочные эффекты в функциональных компонентах.
Что делает:
- Выполняет функцию после рендера компонента.
- Позволяет синхронизировать компонент с внешними системами: подписки, таймеры, запросы к API, изменение DOM.
Как работает:
- При первом рендере вызывается функция эффекта.
- При изменении зависимостей (указываются во втором аргументе — массиве зависимостей) эффект повторно вызывается.
- Если эффект возвращает функцию, она вызывается перед следующим вызовом эффекта или при размонтировании компонента — для очистки (cleanup).
Пример:
import React, { useState, useEffect } from 'react';
function Timer() {
const [count, setCount] = useState(0);
useEffect(() => {
const id = setInterval(() => {
setCount(c => c + 1);
}, 1000);
return () => clearInterval(id); // очистка при размонтировании
}, []); // пустой массив — эффект запускается один раз
return <div>Счётчик: {count}</div>;
}
Таким образом, useEffect управляет жизненным циклом побочных эффектов в функциональных компонентах React.