useState
Hook básico para estado local do componente.
Retorna [value, setter]. Quando setter é chamado com valor diferente, o componente re-renderiza. Updates são assíncronos e batched no React 18.
Estado local simples: toggle de modal, contador, valor de input, flag de loading.
Estado compartilhado entre componentes (use Context/Zustand). Estado derivado calculável (use useMemo direto no render).
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.
Lê o valor do Context Provider mais próximo na árvore. Re-renderiza quando value muda.