Глава 15. useEffect и жизненный цикл компонента

Зачем эта глава

Иногда нужно выполнить код после рендера: загрузить данные, подписаться на события или изменить заголовок страницы.

Теория (коротко)

useEffect запускается после того, как React нарисовал интерфейс.

В зависимости от списка зависимостей эффект может выполняться один раз или при изменении данных.

JSX
useEffect(() => {
  document.title = "Мой проект";
}, []);
Важно: если эффект подписывается на события, делай очистку в return-функции.

Задания

Задание: эффект

  • Измени заголовок страницы в useEffect.
  • Сделай эффект, который зависит от state.
  • Добавь очистку (cleanup).

Проверка себя

Ты знаешь, когда использовать useEffect и как задавать зависимости.

Мини-проект

Цель: таймер.

Требования: счётчик секунд и очистка таймера при размонтировании.

Критерий готовности: таймер не «убегает» и корректно останавливается.

Словарь главы

Эффект
Код, который выполняется после рендера.
Зависимости
Список значений, при изменении которых запускается эффект.