Вопрос проверяет понимание жизненного цикла компонентов и работы массива зависимостей в useEffect.
Чтобы useEffect выполнился только один раз, нужно передать пустой массив зависимостей []. Это означает, что эффект не зависит ни от каких значений и выполнится только после первого рендера. Такой подход часто используется для загрузки данных или инициализации. Повторных вызовов не будет, если зависимости не меняются.
Хук useEffect выполняется после рендера и может запускаться повторно при изменении зависимостей.
Определение:
Массив зависимостей (dependency array) — это список значений, при изменении которых эффект будет выполняться повторно.
Пример
useEffect(() => {
console.log("Component mounted");
}, []);
Как это работает
Компонент рендерится впервые.
React выполняет эффект.
Поскольку зависимостей нет, повторного запуска не происходит.
Типичные сценарии использования
Загрузка данных с сервера.
Подписка на события.
Инициализация библиотек.
Важный момент
В режиме Strict Mode в разработке эффект может вызываться дважды, но это поведение только для проверки.
Пустой массив зависимостей позволяет выполнить useEffect только при монтировании компонента.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию