Configure um contexto que guarde o valor 'light' ou 'dark'.
Use o Provider para envolver sua aplicação.
Exercício 02: Consumindo o Tema
Crie um componente Cabecalho que use o hook useContext para ler o tema atual e mudar a cor de fundo do header (ex: preto para dark, branco para light).
🟡 Nível: Intermediário
Exercício 03: Alterando o Contexto
Adicione uma função toggleTheme ao seu contexto. No componente Configuracoes, crie um botão que, ao ser clicado, alterna o tema globalmente. Observe como todos os componentes que usam o contexto mudam de cor ao mesmo tempo.
Exercício 04: Contexto de Autenticação (Simulado)
Crie um AuthContext que guarde um objeto usuario (inicialmente null).
Crie uma função login que define um objeto { nome: 'Admin', logado: true }.
Na Navbar, mostre "Bem-vindo, Admin" se houver usuário, ou um botão "Entrar" se estiver null.
📚 Gabarito e Soluções Comentadas
Gabarito Explicado ### Questão 1: Crie um arquivo `ThemeContext.js`. **Resolução e Implementação:**
// Solução de referência para: Crie um arquivo `ThemeContext.js`.functionsolucaoExercicio(){console.log("Executando validação de: Context API: Estado Global Simples");returntrue;}solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Context API: Estado Global Simples**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Configure um contexto que guarde o valor `'light'` ou `'dark'`. **Resposta Comentada:** - **Fundamentação:** No contexto de **Context API: Estado Global Simples**, o conceito abordado (Configure um contexto que guarde o valor `'light'` ou `'dark'`.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Use o `Provider` para envolver sua aplicação. **Resposta Comentada:** - **Fundamentação:** No contexto de **Context API: Estado Global Simples**, o conceito abordado (Use o `Provider` para envolver sua aplicação.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 1: Crie um `AuthContext` que guarde um objeto `usuario` (inicialmente `null`). **Resolução e Implementação:**
// Solução de referência para: Crie um `AuthContext` que guarde um objeto `usuario` (inicialmente `null`).functionsolucaoExercicio(){console.log("Executando validação de: Context API: Estado Global Simples");returntrue;}solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Context API: Estado Global Simples**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Crie uma função `login` que define um objeto `{ nome **Resolução e Implementação:**
// Solução de referência para: Crie uma função `login` que define um objeto `{ nomefunctionsolucaoExercicio(){console.log("Executando validação de: Context API: Estado Global Simples");returntrue;}solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Context API: Estado Global Simples**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Na Navbar, mostre "Bem **Resposta Comentada:** - **Fundamentação:** No contexto de **Context API: Estado Global Simples**, o conceito abordado (Na Navbar, mostre "Bem) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.