Aula 09
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
-
Definição Inicial:
- O
reducer
receberá dois argumentos:state
eaction
. - Inicialmente, será definido um estado inicial (
initialState
) como um objeto com propriedades:email
(inicialmente vazio)password
(inicialmente vazio)errorMessage
(inicialmente vazio)loading
(inicialmentetrue
oufalse
)
- O
-
Retorno de Estado:
- É mencionado que o
reducer
deve sempre retornar ostate
, que pode ser uma nova cópia do estado.
- É mencionado que o
-
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.
- A estrutura do tratamento de ações é feita através de um
Combinação do Reducer
- O autor menciona a necessidade de combinar este
reducer
com outros, registrando-o comooffReducer
noindex
do reducer. - O estado combinado pode ser acessado em componentes por
state.off.email
estate.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: