Voltar para a Home

Inputs e página de Quiz

Slug: aula03-inputs-quiz

Challenge steps

Vamos colocar a página de Quiz no ar! E temos live o canal de Front-end do DevSoutinho.

Nesta aula vamos reforçar um dos temas principais do React: o gerenciamento de estados e do ciclo de vida dos componentes. Alterando estados e identificando para momento deste ciclo, é possível atualizar cada componente, alterar os componentes da tela e adicionar efeitos.

Para isso, vamos associar as ferramentas do React (hooks, componentes e JSX) à lógica do JavaScript moderno para carregar as questões e alternativas do nosso quiz.

Conteúdo detalhado dessa aula

  • Criar o componente <Input>
  • Trabalhar com as propriedades (props) dos componentes
  • Garantir a tipagem das propriedades com a biblioteca prop-types
  • Criar a página de quiz e seus componentes
  • Criar componente <LoadingWidget> a partir do <Widget>
  • Exibir as perguntas e alternativas na tela a partir do arquivo db.json
  • Criar formulários para gerenciar as alternativas
  • Trabalhar com os estados (states) da página de quiz para alternar carregamento, questões e resultado
  • Entender o ciclo de vida dos componentes do React
  • utilizar useEffects() para adicionar ações ao componente da tela de quiz

Lembre de postar o que você desenvolveu durante esta aula com a hashtag #ImersaoReact marcando o Soutinho, a Ju e o Paulo!

Se você ainda não entrou no nosso server no Discord, aproveita!

Desafios dessa aula!

  • Desafio do Mario: Fazer a seleção das alternativas funcionar (no modo easy com alert() ou no modo hard com mudança de state)
  • Desafio do Paulo: Traga suas questões de JavaScript, de Java, de PHP ou do que mais quiser e vamos trocar conhecimento!
  • Desafio da Ju: Comece a pensar na lógica por trás do quiz. Contagem de pontos? Como e quando finalizar o jogo? Quem ganha ou perde?

Links importantes para você acompanhar a aula

Links citados nessa aula

Conteúdos extras

Como compartilhar seu quiz:

Você pode, depois do deploy, simplesmente marcar a gente e também usar as hashtags #ImersaoReact e #alura. Mas quer fazer melhor? Você pode usar esse plugin do Chrome para gravar o seu site em ação!

Poste no seu Instagram, Linkedin e Facebook! Marque a gente :)