Специализация
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-функция реализуется возвратом функции из useEffect. Эта функция вызывается перед повторным выполнением эффекта и при размонтировании компонента. Cleanup используется для очистки таймеров, подписок и слушателей событий. Это предотвращает утечки памяти и некорректное поведение.
Когда вызывается cleanup-функция?
Cleanup-функция вызывается перед повторным выполнением эффекта и при размонтировании компонента. Если у эффекта пустой массив зависимостей, cleanup вызовется только при unmount. В StrictMode в dev-режиме cleanup может вызываться чаще. Это нормальное поведение.
Как корректно очищать setInterval в useEffect?
setInterval очищается через clearInterval, вызванный в функции, которую возвращает useEffect. Эта функция выполняется при размонтировании компонента и перед повторным запуском эффекта. Важно сохранить идентификатор интервала в переменную внутри эффекта. Такой подход гарантирует, что таймер не продолжит работать после ухода компонента со страницы.
Как cleanup-функция помогает решить race condition?
Cleanup-функция в useEffect позволяет отменить или игнорировать результат старого запроса, когда эффект больше не актуален. Она вызывается перед повторным запуском эффекта или при размонтировании компонента. Благодаря этому устаревшие запросы не могут обновить состояние. Это один из базовых способов защиты от race condition.
Рейтинг:
5
Сложность:
4
Рейтинг:
5
Сложность:
5
Рейтинг:
5
Сложность:
4
Рейтинг:
5
Сложность:
8