Pular para conteúdo

Exercícios: Aula 05 - Componentes e Props 🧩

1. Vantagens da Componentização

Explique brevemente por que dividimos uma aplicação em componentes em vez de manter todo o código em um único arquivo gigante. Como isso ajuda no trabalho em equipe?

2. Criando um Componente de Botão

Crie um arquivo chamado BotãoCustomizado.vue na pasta src/components/. - Esse componente deve aceitar uma prop chamada texto (String). - Renderize o texto dentro de uma tag <button>. - No componente App.vue, importe e use esse botão 3 vezes com textos diferentes.

3. Tipagem e Validação de Props

Modifique o defineProps do exercício anterior para que a prop texto seja obrigatória (required) e possua um valor padrão caso não seja enviada. Como o Vue avisa se passarmos um número em vez de uma string para essa prop?

4. Passando Objetos como Prop

Crie um componente CardUsuario.vue que receba um objeto usuario como prop. O objeto deve conter nome, email e cargo. Renderize essas informações de forma organizada (ex: usando <div>, <h3> e <p>).

5. Desafio: Galeria de Produtos

Crie um array de objetos produtos em App.vue. Cada produto deve ter id, nome e preco. - Crie um componente ItemProduto.vue que receba os dados de um produto via prop. - No App.vue, use um v-for para renderizar o componente ItemProduto.vue para cada item do array.


📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Vantagens da Componentização **Resposta Comentada:** - **Fundamentação:** No contexto de **Componentes e Props**, o conceito abordado (Vantagens da Componentizaçã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 2: Criando um Componente de Botão **Resposta Comentada:** - **Fundamentação:** No contexto de **Componentes e Props**, o conceito abordado (Criando um Componente de Botã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 3: Tipagem e Validação de Props **Resposta Comentada:** - **Fundamentação:** No contexto de **Componentes e Props**, o conceito abordado (Tipagem e Validação de Props) é 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: Passando Objetos como Prop **Resposta Comentada:** - **Fundamentação:** No contexto de **Componentes e Props**, o conceito abordado (Passando Objetos como Prop) é 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: Desafio **Resposta Comentada:** - **Fundamentação:** No contexto de **Componentes e Props**, o conceito abordado (Desafio) é 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.