Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как реализовать cleanup-функцию в useEffect?
Когда вызывается cleanup-функция?
Как корректно очищать setInterval в useEffect?
Как cleanup-функция помогает решить race condition?
Рейтинг:
5
Сложность:
4
Cleanup-функция реализуется возвратом функции из useEffect. Эта функция вызывается перед повторным выполнением эффекта и при размонтировании компонента. Cleanup используется для очистки таймеров, подписок и слушателей событий. Это предотвращает утечки памяти и некорректное поведение.
Рейтинг:
5
Сложность:
5
Cleanup-функция вызывается перед повторным выполнением эффекта и при размонтировании компонента. Если у эффекта пустой массив зависимостей, cleanup вызовется только при unmount. В StrictMode в dev-режиме cleanup может вызываться чаще. Это нормальное поведение.
Рейтинг:
5
Сложность:
4
setInterval очищается через clearInterval, вызванный в функции, которую возвращает useEffect. Эта функция выполняется при размонтировании компонента и перед повторным запуском эффекта. Важно сохранить идентификатор интервала в переменную внутри эффекта. Такой подход гарантирует, что таймер не продолжит работать после ухода компонента со страницы.
Рейтинг:
5
Сложность:
8
Cleanup-функция в useEffect позволяет отменить или игнорировать результат старого запроса, когда эффект больше не актуален. Она вызывается перед повторным запуском эффекта или при размонтировании компонента. Благодаря этому устаревшие запросы не могут обновить состояние. Это один из базовых способов защиты от race condition.