useEffect
Roda side effects após o React commitar mudanças no DOM.
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.
Sincronizar com sistemas externos: APIs, WebSockets, timers, subscriptions, manipular DOM de libs terceiras.
Calcular estado derivado (faça no corpo da função). Event handlers (use callbacks). Mutações que precisam ser antes do paint (use useLayoutEffect).
Hook básico para estado local do componente.
Como useEffect, mas executa síncronamente ANTES do browser pintar.
Memoiza o RESULTADO de uma computação. Recomputa apenas quando as deps mudam.
Memoiza uma FUNÇÃO. Mantém a mesma referência entre renders enquanto deps não mudam.
Cria objeto { current } mutável que persiste entre renders sem causar re-render quando alterado.
Alternativa ao useState para estado complexo com múltiplas transições.
Lê o valor do Context Provider mais próximo na árvore. Re-renderiza quando value muda.