Um momento
Aula 44
Cursos / CRUD com o Redux (e React Native)
Resetamos os Valores no Redux do Formulário para Criar Novo Post

Summary

Resumo da Apresentação sobre Redux e Manipulação de Estado

Introdução

  • A apresentação discute a manipulação e validação de campos em um formulário de postagem usando Redux.

Comportamento do Estado

  • Se um usuário clica em "novo" e insere dados, ao voltar e clicar em "novo" novamente, os dados permanecem. Isso ocorre porque os campos estão conectados ao estado do Redux que mantém os valores.

Comportamento ao Editar

  • Ao clicar em "editar" e voltar, os campos não mantêm os valores. Isso se deve à chamada do ciclo de vida componentWillMount, que reinicializa o formulário.

Solução Proposta

  • Para resolver o problema do formulário em "novo post":
    1. Adicionar a função componentWillMount na cena do novo post.
    2. Chamar o resetPostForm, que é um action creator que redefine o estado inicial dos campos.
    3. Importar resetPostForm e injetá-lo no componente.

Implementação

  • Após a implementação da função no ciclo de vida e a chamada do action creator, o formulário deve ser redefinido corretamente ao retornar à cena de "novo post".

Conclusão

  • O uso correto dos ciclos de vida e Redux permite uma melhor gestão do estado e a resolução de problemas de persistência de dados em formulários.

Video Transcript

Antes de continuar com a validação dos caracteres de cada campo, gostaria de mostrar uma coisa aqui. Se você clicar em novo, digitar alguma coisa e depois ela está e ainda se deixa algum conteúdo aqui ou ainda no título e voltar, aí clica em novo de novo, olha o que acontece. Ele mantém o estado. Isso porque esses campos são ligados ao estado do Redux e por isso quando a gente entra nessa nova cena, nesse novo post, como o estado é conectado ao Redux, sempre vai ter o mesmo valor, né? Isso não acho que a gente tinha algo parecido quando você clica em um novo post e clica em editar. Deixa eu ver aqui. Carregando um pouco. Clica em editar, digite alguma coisa e volte. Você se tiver algum problema, note que não tem nada aqui, não apareceu nada, porque quando você dá o pop do editar post, vai chamar aquele life cycle, aquela função do life cycle, se você lembra? O component will amount. Então vamos voltar aqui para o editar, para o par de um editar post. src-components-postedit. Senote que a gente tinha esse negócio aqui. Component will amount para recetar o form. Certo? A gente vai prestar a mesma coisa para ajeitar a corrente de aquele problema na cena de novo post. Aqui você vai para o novo post, digita alguma coisa, esqueceu, volta, ainda está lá, porque o estado do Redux está mantido. Essa função que a gente fez reset post form é um action creator. Se você voltar para o actions, você ir ao actions.index, cadê o reset? Se uma despachação chamada reset post form, que o post reducer retorna o initial state, o novo estado com os valores dessa variável chamada initial state, que receta tudo. Título e body ficam vazios e o title arrow e o body vão ser no. Então a gente quer fazer isso. Então para corretir o problema, vamos para a cena que tem o problema, o novo post. Vai para o novo post. E a gente vai definir o component will amount, certo? Está aqui post new. Eu acho que deveria pagar tudo, mas se você quiser deixar formular assim para quando voltar para o novo, ainda está mantido, você pode fazer isso também, mas só para te ensinar como corre de, se você achar isso, que isso foi um problema. Então só adicionar a função de life sack no post new. Component will amount, certo? E dentro do component will amount, chama aquele action creator para reset o post form. Como a gente está usando action creator, vamos injetá-lo no post new lá embaixo. No map dispatch to props reset post form. Opa. E também vamos importá-lo lá em cima. Importa aqui. Reset post form, certo? Vamos testar agora. Eu acho que já está apagado, né? Então está aí a direita aquele problema, certo? Só adicionar a função life sack e chamar o reset post form para recertar o formular e quando o novo post, após essa cena, foi removido, dá o pop.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: