Context API + useContext
Compartilha valores entre componentes sem prop drilling. Provider envolve, useContext consome.
Context API permite compartilhar valores (tema, usuário, idioma) entre componentes sem passar props manualmente em cada nível. createContext() cria o contexto, <Provider value={...}> envolve a árvore, useContext(MyContext) lê o valor.
Prop drilling: passar props através de 5+ níveis de componentes que não usam, apenas repassam. Código verboso e difícil de refatorar.
Context API: Provider envolve uma vez no topo, qualquer descendente usa useContext para acessar diretamente. Mas atenção: Context causa re-render de TODOS os consumers quando o value muda.
Context não é state management — é prop drilling avoidance. Para state global complexo, prefira Zustand/Redux/Jotai (mais performáticos).