Pular para conteúdo

Exercícios 14 - Efeitos e Chamadas de API 🌐

🟢 Fáceis

  1. Conceito: O que é um "Efeito Colateral" (Side Effect) no desenvolvimento Frontend?
  2. useEffect: O que acontece se passarmos um array de dependências vazio [] para o useEffect?

🟡 Médios

  1. Dependências: Se eu quiser que o useEffect rode sempre que a variável usuarioID mudar, como deve ficar o array de dependências?
  2. Fetch: Explique a ordem de execução do código abaixo:
    console.log("A");
    fetch("url").then(() => console.log("B"));
    console.log("C");
    
  3. Estados de Rede: Por que é importante ter um estado de loading (carregando) em aplicações que buscam dados na internet?

🔴 Desafio

  1. Ciclo de Efeitos: Imagine que seu efeito faz um fetch e, dentro do .then(), você chama um setData(dados).
    • O que acontece se você NÃO passar o array []? Explique o loop infinito que isso gera.
    • Como você faria para exibir uma mensagem "Nenhum resultado encontrado" caso a API retorne um array vazio?

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Conceito **Resposta Comentada:** - **Fundamentação:** No contexto de **Efeitos e Chamadas de API (useEffect)**, o conceito abordado (Conceito) é 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: useEffect **Resolução e Implementação:**
// Estrutura de implementação recomendada para useEffect
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Efeitos e Chamadas de API (useEffect)**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Dependências **Resposta Comentada:** - **Fundamentação:** No contexto de **Efeitos e Chamadas de API (useEffect)**, o conceito abordado (Dependências) é 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 4: Fetch **Resposta Comentada:** - **Fundamentação:** No contexto de **Efeitos e Chamadas de API (useEffect)**, o conceito abordado (Fetch) é 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 5: Estados de Rede **Resposta Comentada:** - **Fundamentação:** No contexto de **Efeitos e Chamadas de API (useEffect)**, o conceito abordado (Estados de Rede) é 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 6: Ciclo de Efeitos **Resposta Comentada:** - **Fundamentação:** No contexto de **Efeitos e Chamadas de API (useEffect)**, o conceito abordado (Ciclo de Efeitos) é 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.