Aula 02
Explicação Geral dos Conceitos do Redux: Action Creator, Action, Reducer, Application State
Summary
Resumo do Vídeo sobre Redux em React Native
Neste vídeo, o apresentador discute a utilização do Redux na versão 0.36 do React Native, usando o exemplo de um aplicativo que gerencia uma lista de posts.
Estrutura do Redux
-
Action Creators:
- Funções que retornam uma Action.
- Exemplo: ao montar o componente da lista de posts, é chamada uma Action Creator.
-
Actions:
- Objetos que têm uma propriedade chamada
type
. - Um exemplo de Action para a lista de posts poderia ser
FETCH_POSTS
.
- Objetos que têm uma propriedade chamada
-
Reducers:
- Funções que retornam partes do Application State (ou Redux Store).
- Usam um
switch
para verificar o tipo da Action recebida e retornar um novo estado, se aplicável.
-
Application State:
- Representa o estado global da aplicação, diferente do estado local dos componentes.
Funcionamento
- As Actions são despachadas para todos os Reducers, mas apenas os Reducers que se importam com a Action vão atualiza o estado.
- O novo estado é então refletido no aplicativo através da conexão das props do componente com o Application State do Redux.
Implementação
- Uma Action normalmente é um objeto JavaScript com um
type
e, possivelmente, umpayload
contendo dados obtidos de uma API (por exemplo, uma lista de posts). - Dentro do Action Creator, é realizado um pedido HTTP (GET) para obter dados e criar a Action.
Exemplo de Código
const FETCH_POSTS = 'FETCH_POSTS';
const fetchPosts = () => {
return (dispatch) => {
// faz pedido HTTP e obtém dados
dispatch({
type: FETCH_POSTS,
payload: [/* lista de posts */]
});
};
};
const postsReducer = (state = [], action) => {
switch (action.type) {
case FETCH_POSTS:
return action.payload; // atualiza o estado com a lista de posts
default:
return state; // retorna o estado atual se não houver mudança
}
};
Conclusão
O entendimento do Redux pode ser desafiador inicialmente, mas com prática e experimentação, fica mais claro como tudo funciona junto. No próximo vídeo, a criação do aplicativo e a escrita do código serão abordadas em detalhes.
Video Transcript
Antes de começar, deixa eu só dizer que eu estou usando a versão 0.36 do React Native,
tá bom?
Esse vídeo vai ser baseado nessa versão.
Agora vamos dar uma olhada no...
O maneira que a gente vai usar o Redux, tá bom?
Então, a gente tem aqui o nosso aplicativo, né?
Nesse exemplo, a gente vai usar uma lista de posts, né?
Então, por exemplo, a lista de posts, quando a gente montar o componente da lista, a gente
vai chamar o que é chamado?
Vai chamar um Action Creator, tá bom?
Essa é uma função e essa função retorna uma Action, tá bom?
Essa Action vai ser despachada para todos os chamados Reducers, tá bom?
Então, Reducer é só uma função que retorna uma parte do Application State.
Então, não confunda o Application State com o estado do componente, que é totalmente
diferente.
O Application State é também chamado de Redux Store, tá bom?
Então, as Actions, a Action é despachada para todos os Reducers, mas só o Reducers
que se importam com essa Action que vão fazer alguma coisa.
Então, ele Reducer olha no tipo da Action e decide, ah, eu me porto com isso, senão,
deixa passar e nada acontece, mas se ele se importar com a Action, o tipo da Action,
ele vai retornar o novo State, tá bom?
O novo State para essa parte da aplicativa, do Application State.
Então, essa nova, novo State vai ser refletido no aplicativo porque a gente vai conectar
as props do componente com o Application State do Redux.
Vai ser sempre assim, a gente vai injetar o Action Creator no aplicativo como uma prop
e também o State, o Application State do Redux vai ser injetado no componente do aplicativo
via props, tá bom?
Então, normalmente essa Action aqui vai ser escrita dessa maneira, é só um objeto,
deixa eu ver aqui, deixa eu estar aqui, ah, não pode digitar, deixa eu abrir o Atomom
aqui para te mostrar como vai escrever uma Action.
Normalmente a Action, a gente é só um objeto que tem uma propriedade chamada Type, no nosso
exemplo, se for uma lista de posts, talvez a gente chama FEDPosts e é assim, normalmente,
só um objeto com o tipo da Ação.
Então, no Reducer, a gente vai fazer um switch, vai olhar no Action, tipo da Action, no...
E vai ver se for o caso do FEDPosts.
A gente faça alguma coisa, torne o novo Estado do aplicativo.
Eu traduzi isso do Application State, tá bom?
E é só um objeto, na verdade, com alguma coisa aqui.
Tá bom?
Então, a Action é só um objeto JavaScript que tem um tipo e esse tipo, normalmente, a gente usa
letras maiúsculas, como se fosse uma constante, que a gente vai definir depois e nas constantes
é só uma string, tá bom?
E dentro do Reducer, a gente vai dar um switch para o Action.Type e se for o caso desse aqui,
a gente vai retornar ao novo Estado, o Application State, com, talvez, a lista de posts,
que normalmente vai ser o Action.Payload, que a gente vai passar aqui quando a gente fizer
uma pedido HTTP, que vai retornar essa variável post.
Dentro do Action Creator, tá bom?
Dentro do Action Creator, faz o pedido HTTP, pedido GET, que retorna essa lista de posts, como se fosse um objeto
ou um array, e no final, a gente retorna a Action com o chip e a payload.
Payload, normalmente, se tiver dados para enviar que foram obtidos no back-end, você passa os dados pelo payload.
E aqui dentro do Reducer, dá um switch, se for esse caso, retorna o post, que vai ser o payload.
E esse post vai ser refletido num aplicativo, porque a gente vai conectar o componente com as props do componente
com o Estado, né?
Então, a gente vai acessar assim, thisProps.post, tá bom?
No começo, é um pouco difícil de entender Redux, mas você vai com o tempo, a gente começa a entender melhor
e quando a gente escreveu o código e vê como é que tudo se relaciona, você vai entender o que está acontecendo.
Tá bom?
Então, esse é o overview do Redux.
No próximo vídeo, a gente vai começar a criar o nosso aplicativo e escrever um código. Vamos lá!
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: