Pular para conteúdo

Exercícios de Fixação – Aula 07 🗺️

Exercício 01: Setup das Rotas

Crie um projeto novo e configure o BrowserRouter. 1. Crie duas rotas: / (Home) e /contato (Contato). 2. Crie um componente de Navegação com <Link> para ambas. 3. Certifique-se de que a mudança de URL não recarrega a página.

Exercício 02: Rota 404 (Not Found)

Adicione uma rota coringa (path="*") que exiba uma mensagem amigável: "Ops! Essa página não existe. [Voltar para Home]". Teste digitando uma URL inexistente no navegador.

Use o <NavLink> no seu menu de navegação. 1. Crie uma classe CSS chamada .active no seu App.css. 2. Essa classe deve deixar o link em negrito e com uma cor de destaque quando for a página atual.


🟡 Nível: Intermediário

Exercício 04: Redirecionamento Programático

Crie um formulário simples na página de Contato. 1. Use o hook useNavigate. 2. Após o usuário clicar em "Enviar", simule um envio e use o navigate("/") para mandá-lo de volta para a Home automaticamente.


📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Crie duas rotas **Resolução e Implementação:**
// Solução de referência para: Crie duas rotas
function solucaoExercicio() {
    console.log("Executando validação de: React Router: Navegação SPA ️");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **React Router: Navegação SPA ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Crie um componente de Navegação com `` para ambas. **Resolução e Implementação:**
// Solução de referência para: Crie um componente de Navegação com `<Link>` para ambas.
function solucaoExercicio() {
    console.log("Executando validação de: React Router: Navegação SPA ️");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **React Router: Navegação SPA ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Certifique **Resposta Comentada:** - **Fundamentação:** No contexto de **React Router: Navegação SPA ️**, o conceito abordado (Certifique) é 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 uma classe CSS chamada `.active` no seu `App.css`. **Resolução e Implementação:**
// Solução de referência para: Crie uma classe CSS chamada `.active` no seu `App.css`.
function solucaoExercicio() {
    console.log("Executando validação de: React Router: Navegação SPA ️");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **React Router: Navegação SPA ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Essa classe deve deixar o link em negrito e com uma cor de destaque quando for a página atual. **Resolução e Implementação:**
// Solução de referência para: Essa classe deve deixar o link em negrito e com uma cor de destaque quando for a página atual.
function solucaoExercicio() {
    console.log("Executando validação de: React Router: Navegação SPA ️");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **React Router: Navegação SPA ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 1: Use o hook `useNavigate`. **Resposta Comentada:** - **Fundamentação:** No contexto de **React Router: Navegação SPA ️**, o conceito abordado (Use o hook `useNavigate`.) é 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 2: Após o usuário clicar em "Enviar", simule um envio e use o `navigate("/")` para mandá **Resposta Comentada:** - **Fundamentação:** No contexto de **React Router: Navegação SPA ️**, o conceito abordado (Após o usuário clicar em "Enviar", simule um envio e use o `navigate("/")` para mandá) é 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.