Um momento
Aula 02
Cursos / Introdução ao Redux com o React Native
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

  1. Action Creators:

    • Funções que retornam uma Action.
    • Exemplo: ao montar o componente da lista de posts, é chamada uma Action Creator.
  2. Actions:

    • Objetos que têm uma propriedade chamada type.
    • Um exemplo de Action para a lista de posts poderia ser FETCH_POSTS.
  3. 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.
  4. 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, um payload 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: