Назад к вопросам
Junior
104
questionbank
Что такое хук useEffect в React?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
useEffect в React - это хук, позволяющий выполнять побочные эффекты (side effects) в функциональных компонентах. Побочные эффекты включают в себя:
- Работа с DOM напрямую.
- Запросы к API.
- Подписка и отписка от событий.
- Таймеры.
useEffect принимает два аргумента:
- Функция-эффект: Выполняется после каждого рендера компонента, если не указан массив зависимостей.
- Массив зависимостей (опционально): Определяет, при изменении каких значений (стейт, пропсы) должен перевыполняться эффект.
Примеры использования:
Без массива зависимостей (выполняется после каждого рендера):
useEffect(() => {
// Код эффекта
});
С пустым массивом зависимостей (выполняется только после первого рендера, как componentDidMount):
useEffect(() => {
// Код эффекта
}, []);
С массивом зависимостей (выполняется при первом рендере и при изменении values.value1 или values.value2):
useEffect(() => {
// Код эффекта
}, [values.value1, values.value2]);
Функция-эффект может вернуть функцию очистки (cleanup function), которая выполняется перед следующим выполнением эффекта или перед размонтированием компонента (как componentWillUnmount):
useEffect(() => {
// Код эффекта
return () => {
// Код очистки
};
}, []);