📖
Padrão
Context API
Compartilha valores entre componentes sem prop drilling.
📚 O que é
createContext cria o contexto. Provider envolve a árvore com value. useContext consome. TODOS os consumers re-renderizam quando value muda — sem seletor nativo.
✅ Quando usar
Dados que raramente mudam: tema, idioma, usuário logado. Poucos consumers. Dado que não precisa de updates frequentes.
🚫 Quando NÃO usar
Estado que muda frequentemente (lista, timer, real-time). Muitos consumers com atualizações parciais diferentes. Apps grandes (use Zustand/Redux).
👍 Prós
Nativo do React
Simples
Sem lib externa
Prop drilling zero
👎 Contras
Re-render em cascata
Sem seletor nativo
Performance ruim para estado dinâmico
Aninhamento de providers vira 'inferno'