Upgrade to Pro — share decks privately, control downloads, hide ads and more …

O poder do Redux

O poder do Redux

Como funciona o Redux? Essa apresentação mostra as principais estruturas da biblioteca e os 3 princípios que guiam sua utilização. Além disso são demonstradas algumas vantagens que justificam o porque o Redux pode ou não ser uma boa solução para os seus problemas.

Avatar for Pedro Dias Fonseca

Pedro Dias Fonseca

June 26, 2019
Tweet

More Decks by Pedro Dias Fonseca

Other Decks in Technology

Transcript

  1. Agenda 1. O que é o estado de uma aplicação

    2. Os 3 princípios do Redux 3. As principais estruturas 4. Um contador simples escrito utilizando Redux
  2. O que é o estado de uma aplicação? Representação, em

    memória, de um determinado momento da aplicação
  3. Estruturas do Redux: Store - Instância que armazena a árvore

    de dados do estado - Fonte única de consulta dos dados - Imutável (?) - Facilita a inspeção e depuração da aplicação - Permite a persistência e reprodução de um estado
  4. Estruturas do Redux: Actions - Objetos que descrevem uma mudança

    - Funcionam como "APIs" que estabelecem regras sobre como um estado pode ser modificado
  5. Estruturas do Redux: Reducers - Funções puras que descrevem uma

    mudança no estado - Recebem como parâmetro o estado atual e uma ação - Obrigatoriamente devem retornar um novo estado que se torna o estado corrente
  6. #1 - Testar é uma moleza - Os reducers implementam

    a maior parte das regras de negócio - Funções puras não precisam de mocks - Os testes verificam o retorno da função para diferentes conjuntos de parâmetros
  7. #2 - Depuração com esteróides - A imutabilidade permite "voltar

    no tempo" em estados anteriores para investigar problemas e inconsistências - Reproduzir estados é incrivelmente mais simples - DevTools dedicado
  8. #3 - Compõe bem com suas necessidades - Extensível através

    de middlewares que podem implementar funcionalidades como log, persistência, tratamento de erros ou qualquer tipo de efeito colateral
  9. Não é para todo mundo - Para alguns casos existem

    meios mais enxutos e menos verbosos de controlar estados - Nem tudo deve ser um estado global - Cada caso é um caso - You Might Not Need Redux
  10. Referências - 3 princípios do Redux: https://redux.js.org/introduction/three-principles - Principais conceitos:

    https://redux.js.org/introduction/core-concepts - API: https://redux.js.org/api/api-reference - Curso com Dan Abramov: https://learnreduxwithdanabramov.com - Repositório: https://github.com/reduxjs/redux - Devtools: https://github.com/reduxjs/redux-devtools - YMNNR: https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367