
Урок 06 · 12 хв
useEffect: поза компонентом
Ефект — мережа, підписка, заголовок вкладки. Не для додавання first + last.
useEffect(() => { … }, [deps]) запускається після малювання. Порожній [] — один раз після монтування. Немає масиву — кожен рендер (майже завжди помилка). У масиві — те, що ефект читає: інакше візьме старе замикання.
- Поклав
setStateв ефект без deps — цикл рендерів. - Синхронізація з
document.title— нормальний ефект. ОбчисленняfullName— ні. - Строгий режим у dev монтує ефект двічі: cleanup зобов'язаний бути безпечним.
Перевірка
Закріпи, поки не пішов далі
1.
useEffect(fn, [])коли запускається?2. Навіщо return з ефекту?
3. Ефект читає
id, але deps[]. Що буде?