React: старт

Урок 06 · 12 хв

useEffect: поза компонентом

Ефект — мережа, підписка, заголовок вкладки. Не для додавання first + last.

useEffect(() => { … }, [deps]) запускається після малювання. Порожній [] — один раз після монтування. Немає масиву — кожен рендер (майже завжди помилка). У масиві — те, що ефект читає: інакше візьме старе замикання.

Завантаження зі скасуванням
AI

Можна спитати про це правило«Cleanup знімає підписку»

  • Поклав setState в ефект без deps — цикл рендерів.
  • Синхронізація з document.title — нормальний ефект. Обчислення fullName — ні.
  • Строгий режим у dev монтує ефект двічі: cleanup зобов'язаний бути безпечним.
AI

Можна спитати про цей пункт«Суть уроку»

Перевірка

Закріпи, поки не пішов далі

  1. 1. useEffect(fn, []) коли запускається?

  2. 2. Навіщо return з ефекту?

  3. 3. Ефект читає id, але deps []. Що буде?