📖
Hook

useEffect

Roda side effects após o React commitar mudanças no DOM.

📚 O que é

Executa APÓS o paint (assíncrono). Recebe função de setup e array de deps. Retornar função = cleanup (roda antes de re-executar ou desmontar). Deps controlam quando o effect executa.

✅ Quando usar

Sincronizar com sistemas externos: APIs, WebSockets, timers, subscriptions, manipular DOM de libs terceiras.

🚫 Quando NÃO usar

Calcular estado derivado (faça no corpo da função). Event handlers (use callbacks). Mutações que precisam ser antes do paint (use useLayoutEffect).

👍 Prós
Declarativo
Cleanup automático
Controle fino via deps
Evita race conditions com cleanup
👎 Contras
Difícil de debugar
Loop infinito fácil
Executa 2x em StrictMode
Deps instáveis são armadilha
🔗 Termos relacionados