Exercício de fixação

Vamos criar formulários utilizando Redux! \o/

Vocês criarão dois formulários, cada um em uma etapa, um para dados pessoais e outro para dados profissionais e exibí-los na tela.

[gif]

Para isso, é preciso salvar as informações de cada formulário no gerenciador de estados e, por fim, numa outra página, acessar esses dados para que sejam renderizados.

Você vai precisar de:

  • Três páginas: uma vai renderizar o formulário de informações pessoais, outra de informações profissionais e uma para exibir as informações, além de um botão junto dos formulários que enviam as informações e passam para a página seguinte.

  • Gerenciador de estados (Reeeedux), para salvar as informações na store e também para acessá-las.

Então, mãos ao código!!

1 - Crie uma pasta chamada pages, e, dentro dela, 3 arquivos:

PersonalForm.jsx ProfessionalForm.jsx FormDataDisplay.jsx

Se vocês quiserem utilizar a extensão .js, tudo bem, fiquem à vontade!

Não se preocupe com o conteúdo de cada uma delas, por enquanto renderize apenas uma div com um texto identificando cada uma das páginas.

2 - Crie as rotas dentro de App.js para renderizar as páginas: PersonalForm será renderizada na página principal, com a rota '/'. ProfessionalForm será renderizada ao acessar a rota '/professionalForm'. FormDataDisplay será renderizada ao acessar a rota '/formDisplay'.

3 - Crie um fieldset que contenha os seguintes inputs e os renderize em PersonalForm.jsx:

Nome - Texto Email - Texto CPF - Texto Endereço - Texto Cidade - Texto Estado - Select Todos os estados do Brasil Um botão com o texto Enviar e que redireciona para a página ProfessionalForm

4 - Crie um fieldset que contenha os seguintes inputs e os renderize em ProfessionalForm.jsx: Resumo do currículo - TextArea Cargo - TextArea Descrição do cargo - Texto Um botão com o texto Enviar e que redireciona para a página FormDataDisplay

5 - Crie um diretório chamado Redux: Dentro da pasta "redux", crie as pastas "actions", "reducers" e "store". Dentro de "actions" crie um arquivo chamado action.jsx. Dentro de "reducers" crie um arquivo chamado reducers Dentro de "store" crie um arquivo chamado store.

Lembre-se que, ao montar a estrutura do Redux, é preciso importar o Provider, que recebe a store, no index.js.

**Dica: Caso esteja tendo dificuldades para montar a estrutura do Redux, você pode consultar o passo a passo que estão nesse link!

6 - Salve as informações das páginas PersonalForm e ProfessionalForm na store.

Dica: Lembre-se que o mapStateToProps lê as informações da store e o mapDispatchToProps envia as informações para a store.

7 - Renderize, em FormDataDisplay, todas as informações que estão salvas na store.