Componentes Dinâmicos e Listas em React
Área: Frontend | Nível recomendado: Iniciante
Nesta missão, vamos aprofundar no entendimento de como os componentes funcionam em React, explorando o uso de props, o método map para renderização de listas dinâmicas, e a implementação de renderização condicional. A missão é desenhada para reforçar a capacidade de manipular dados complexos e controlar o que é exibido na interface do usuário, utilizando conceitos fundamentais de JavaScript.
Vídeo
Link direto: https://youtu.be/mAXcFzFicdk
Tópicos
Introdução aos Componentes e Props:
Discussão sobre como os componentes permitem a reutilização de código e a modularização em React.
Explicação detalhada sobre como usar
propspara passar dados e eventos entre componentes.
Introdução ao Flexbox para Layouts Responsivos:
Introdução básica ao Flexbox, recomendando o jogo Flexbox Froggy como recurso interativo para aprendizagem.
Aplicação prática de Flexbox para arranjar múltiplos cards dentro de um contêiner, demonstrando o layout responsivo.
JavaScript e React: Manipulação de Arrays e Objetos:
Revisão sobre arrays e objetos em JavaScript, mostrando como essas estruturas são essenciais para gerenciar dados dentro dos componentes.
Demonstração de como transformar dados de array em componentes usando o método
map.
Renderização Condicional em Componentes:
Introdução à renderização condicional em React, usando operadores como
&&e ternário?:para criar interfaces que respondem a diferentes estados ou condições.Exemplos práticos de como aplicar renderização condicional para melhorar a experiência do usuário.
Prática com Listas Dinâmicas e Renderização Condicional:
Criação de uma lista de componentes que são renderizados dinamicamente a partir de um array de dados.
Implementação de condições dentro da renderização para tratar listas vazias ou critérios específicos.
Material de Apoio
Repositório no GitHub
PDF para Download
Miro
Exercícios de Fixação
Use esses exercícios para reforçar o que acabou de aprender. Se errar, leia a explicação para entender melhor o conceito.
Qual é a função principal dos props em um componente React?
A) Definir o estado inicial do componente.
B) Passar dados e eventos para o componente.
C) Estilizar o componente.
D) Criar novos elementos DOM.
Resposta correta
Qual é a função principal dos props em um componente React?
Resposta Correta: B
Feedback: Os props são usados para passar dados e eventos para os componentes filhos, permitindo que esses componentes sejam reutilizáveis e dinâmicos.
Resposta correta
Complete o código para que o componente Card exiba o título e o conteúdo passados como props.
Resposta Correta:
Feedback: O componente Card utiliza props.title e props.content para exibir o título e o conteúdo passados como propriedades.
Resposta correta
Afirmativa: O Flexbox é utilizado para criar layouts bidimensionais em CSS.
Resposta Correta: B
Feedback: Falso. O Flexbox é utilizado para criar layouts unidimensionais (linha ou coluna) em CSS. Para layouts bidimensionais, utiliza-se o CSS Grid.
Qual método usamos para adicionar um novo item ao final de um array em JavaScript?
A) pop()
B) shift()
C) push()
D) unshift()
Resposta correta
Qual método usamos para adicionar um novo item ao final de um array em JavaScript?
Resposta Correta: C
Feedback: O método push() é utilizado para adicionar um novo item ao final de um array em JavaScript.
Complete o código para criar uma lista de componentes `Card` a partir de um array de dados usando o método `map`.
Resposta correta
Complete o código para criar uma lista de componentes Card a partir de um array de dados usando o método map.
Resposta Correta:
Feedback: O método map é utilizado para transformar cada item do array items em um componente Card, passando os dados apropriados como props.
Exercícios de Validação
Esses exercícios testarão sua compreensão prática. Revise o feedback para melhorar suas habilidades.
Desafio de Código
Adicione funcionalidade ao componente Card para que ele exiba uma mensagem "Este item não evolui" quando a propriedade evoluiPara for null ou undefined.
Implemente a renderização condicional no componente
Card.
Resposta esperada
Feedback: A renderização condicional é usada para exibir uma mensagem específica quando props.item.evoluiPara não está definido, melhorando a clareza da interface para o usuário.
Revisão de Código
Analise o código a seguir, encontre e corrija o erro.
Resposta Correta
Erros:
Exportação do componente
Carde importação no componenteAppestá faltando.O componente
Cardnão está utilizandoprops.itempara acessar as propriedades corretamente.
Feedback: A propriedade image deve ser incluída no objeto items e passada como props para o componente Card.
Projeto Prático
Crie uma aplicação React que renderize uma lista de produtos em promoção. A lista de produtos deve ser armazenada em um estado e passada para os componentes filhos como props. Além disso, implemente a funcionalidade para exibir o preço antigo e o novo preço com desconto. Se o produto não estiver em promoção, exiba uma mensagem "Produto não está em promoção".
Tarefas
Criação do Projeto:
Inicialize um novo projeto React.
Crie um componente
ProductCardque recebapropse exiba o nome, a imagem, o preço antigo e o novo preço com desconto de um produto.
Implementação da Lista:
Crie um componente
Appque armazene a lista de produtos no estado e use o métodomappara renderizar os cards.
Renderização Condicional:
Adicione renderização condicional para exibir a mensagem "Produto não está em promoção" se o produto não tiver desconto.
Código esperado
Feedback Detalhado
Renderização de Listas: Utilize o método
mappara renderizar uma lista de produtos dinamicamente.Props: Passe dados para componentes filhos usando
propse acesse esses dados corretamente dentro dos componentes.Renderização Condicional: Use renderização condicional para exibir diferentes conteúdos com base no estado dos dados (por exemplo, se o produto está em promoção ou não).
Estilização com CSS: Estilize os componentes para melhorar a apresentação visual, aplicando estilos básicos de CSS e utilizando Flexbox para o layout.
Last updated