Pular para conteúdo

Exercícios 10 - Stores e Gerenciamento de Estado 📦

🟢 Básicos

  1. Utilidade: Em qual situação é melhor usar uma Store em vez de passar dados via Props?
  2. Atalho: O que o caractere $ faz quando colocado antes do nome de uma store em um componente Svelte?

🟡 Intermediários

  1. Update vs Set: Quando você deve usar o método .update() em vez do .set() em uma writable store?
  2. Inscrição Manual: Escreva o código para se inscrever (subscribe) manualmente em uma store chamada tema e salvar o valor em uma variável local. Não esqueça de mencionar como você faria para "desinscrever".

🔴 Desafio

  1. Sistema de Autenticação Centralizado:
    • Crie um arquivo auth.js com uma store user que guarda um objeto (pode iniciar como null).
    • Crie dois componentes: Login.svelte e Dashboard.svelte.
    • No Login, ao clicar em um botão, atualize a store com um usuário fictício (ex: {nome: 'Fulano', email: 'fulano@teste.com'}).
    • No App.svelte, use um {#if $user} para alternar entre mostrar o Login ou o Dashboard.
    • No Dashboard, exiba o nome do usuário vindo da store e adicione um botão "Logoff" que limpe a store.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Utilidade **Resposta Comentada:** - **Fundamentação:** No contexto de **Stores e Gerenciamento de Estado**, o conceito abordado (Utilidade) é 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: Atalho **Resposta Comentada:** - **Fundamentação:** No contexto de **Stores e Gerenciamento de Estado**, o conceito abordado (Atalho) é 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: Update vs Set **Resolução e Implementação:**
// Solução de referência para: Update vs Set
function solucaoExercicio() {
    console.log("Executando validação de: Stores e Gerenciamento de Estado");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Stores e Gerenciamento de Estado**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Inscrição Manual **Resolução e Implementação:**
// Solução de referência para: Inscrição Manual
function solucaoExercicio() {
    console.log("Executando validação de: Stores e Gerenciamento de Estado");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Stores e Gerenciamento de Estado**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Sistema de Autenticação Centralizado **Resposta Comentada:** - **Fundamentação:** No contexto de **Stores e Gerenciamento de Estado**, o conceito abordado (Sistema de Autenticação Centralizado) é 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.