useContext
Lê o valor do Context Provider mais próximo na árvore. Re-renderiza quando value muda.
Toda vez que o value do Provider muda, TODOS os componentes que chamam useContext(MyContext) re-renderizam — mesmo que só usem parte do valor. Não tem seletor por padrão.
Dados que raramente mudam: tema (dark/light), idioma, usuário logado. Dados que muitos componentes em nível profundo precisam acessar.
Estado que muda frequentemente (causará re-renders em cascata). Substituição de state management robusto em apps grandes. Quando passar por apenas 1-2 níveis (props são mais claras).
Hook básico para estado local do componente.
Roda side effects após o React commitar mudanças no DOM.
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.