Um momento
Aula 09
Cursos / Autenticação com o Firebase, React Native & Redux
Implementação do Reducer de Autenticação

Summary

Resumo do Transcrição

Neste trecho, o autor discute a implementação de um reducer usando JavaScript, utilizando um exemplo prático para explicar o processo.

Estrutura do Reducer

  1. Definição Inicial:

    • O reducer receberá dois argumentos: state e action.
    • Inicialmente, será definido um estado inicial (initialState) como um objeto com propriedades:
      • email (inicialmente vazio)
      • password (inicialmente vazio)
      • errorMessage (inicialmente vazio)
      • loading (inicialmente true ou false)
  2. Retorno de Estado:

    • É mencionado que o reducer deve sempre retornar o state, que pode ser uma nova cópia do estado.
  3. Tratamento de Ações:

    • A estrutura do tratamento de ações é feita através de um switch baseado no tipo da ação (action.type).
    • São mencionados vários casos, além de um default para retorno do estado, se necessário.

Combinação do Reducer

  • O autor menciona a necessidade de combinar este reducer com outros, registrando-o como offReducer no index do reducer.
  • O estado combinado pode ser acessado em componentes por state.off.email e state.off.password.
  • A implementação também inclui o uso de mapStateToProps.

Testes

  • O autor termina a descrição verificando se a implementação está funcionando corretamente sem erros.

Este resumo captura os principais pontos discutidos sobre a estrutura e funcionamento do reducer no contexto apresentado.

Video Transcript

Eu vou usar um zone de flash em vez de falar de function, vou colocar flash aqui, tá bom? Sempre do reducer o primeiro argumento vai ser o state e segundo argumento action, ação. Normalmente você inicializa o state aqui com o valor inicial. Essa é a parte do novo version JavaScript, no s5 não tem essa definição de valor inicial. Vou colocar initial state que é uma variável que eu vou definir aqui, const initial state. Vai ser aquela coisa que a gente discutiu aqui, tá bom? Esse cara aqui, então vamos lá, vamos botar primeiro a gente vai precisar amazenar o email. Vamos inicialmente ser vazio e o password que a senha também vazio. E depois a gente vai lidar com o erro, então vou só botar mensagem de erro como vazia também. Ou a gente pode botar no, depende de como a gente vai fazer esse sistema. Vou botar loading, vou deixar no por enquanto, talvez a gente mude. Vai ser true ou false dependendo se estiver carregando ou não. Tá bom? Esse é o state inicial que vai estar aqui. Assim como está a gente precisa retornar o estado. Um detalhe do reducer é que a gente sempre precisa retornar o estado, né? Embora que seja um novo estado, uma cópia nova do estado. Então sempre retorne, pelo menos sempre retorne o state. Tá bom? E depois a gente vai ter casos de tipo de ação, então vou botar um switch aqui. Proaction.tip, aqui vai ter os casos, case, case, case, case, case, case, case, case, case, case. Mas sempre o default, se quiser, não quiser deixar esse return state fora do switch, você pode pôr na default aqui. Depende de você. Então tu faz estar aqui fora e não ter default como estar aqui dentro, como parte do default. Vou deixar aqui dentro, tá bom? Só assim salvar, tá tudo ok no reducer. Claro que a gente vai ter outros estados que a gente vai precisar do tipo de ação para lidar com retornar ao novo estado, mas vamos deixar isso para depois. Tá tudo ok aqui. Então o que a gente vai fazer agora? A gente fez o nosso reducer, mas a gente precisa combinar com todos os outros. Então vou no index do reducer. Vou importar aqui, import, reducer, reducer, mesmo diretório. E aqui vou tirar essas coisas aqui, vou botar authentication, e vai ser o quê? Off reducer, só isso. Então vou definir essa chave que vai se referir ao reducer, off reducer, que esse cara aqui vai retornar a sua função aqui, tá bom? Toda vez que a gente quiser acessar esse cara aqui, por exemplo, vai ter que se referir a state.off.email ou password, por exemplo, state.offpassword. E a gente vai usar isso no map, como é map state to props, né? Se você se lembra dentro do componente, tá bom? Tudo ok, a gente combinou. Vamos só testar aqui para ver se me deu erro. Tudo ok. Tá bom?
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: