SlideShare uma empresa Scribd logo
REACT
+ REDUX
PENSANDO EM REDUX
Meu nome é Guilherme
Ventura
Desenvolvedor Front-end apaixonado por novas tecnologias
OLÁ!
INTRODUÇÃO
Vamos começar pelo começo, certo?
REACT
∎ O que é?
Uma biblioteca Javascript para
construir interfaces de usuário.
- React Homepage
REDUX
∎ O que é?
∎ Quando utilizar no meu projeto?
∎ Os três pilares do redux
Redux is a tool for managing both data-state and UI-
state in JavaScript applications. It's ideal for Single
Page Applications (SPAs) where managing state over
time can be complex. It's also framework-agnostic, so
while it was written with React in mind, it can even
be used with Angular or a jQuery application.
- Brad Westfall, on Leveling Up with React: Redux
QUANDO USAR NO
MEU PROJETO?
Don't use Redux until you have problems with vanilla
React.
- Dan Abramov
You'll know when you need Flux. If you aren't sure if
you need it, you don't need it.
- Pete Hunt
OS TRÊS
PILARES
DO REDUX
∎ Single source of truth
∎ State is read-only
∎ Changes are made with pure functions
SINGLE SOURCE
OF TRUTH
O estado de toda sua aplicação é armazenado em uma árvore de objetos dentro de
um único store.
STATE IS
READ-ONLY
A única maneira de mudar o estado é emitindo uma ação, um objeto descrevendo o
que aconteceu.
CHANGES ARE MADE
WITH PURE FUNCTIONS
Para especificar como a árvore de estado é transformada pelas ações, você
escreve reducers puros.
JS Experience 2017 - React + Redux. Pensando em Redux
OK, por onde
começar a usar o
REDUX?
PRA CADA
COMPONENTE...
Planeje a
estrutura
Crie
Componente
s de
Apresentaçã
o
Escreva as
Ações
Escreva os
Reducers
Amarre as
ações aos
seus
componentes
PLANEJE A
ESTRUTURA
Disseque cada ponto da sua aplicação antes de começar a codificar. Identifique os
componentes, a relação entre cada um deles, quais ações/dados cada um deve ter.
Ou enfrente as consequências depois...
CRIE OS COMPONENTES
DE APRESENTAÇÃO
Antes de começar a criar actions, reducers e containers, crie os componentes
que não vão lidar diretamente com a lógica da aplicação para facilitar a visualização
e a estrutura.
ESCREVA AS
AÇÕES
EXEMPLO: ACTION CREATOR
ESCREVA OS
REDUCERS
EXEMPLO: REDUCER
AMARRE AS AÇÕES
AOS SEUS
COMPONENTES
∎ O método connect
∎ mapStateToProps
∎ mapDispatchToProps
EXEMPLO: connect()
EXEMPLO: mapStateToProps
EXEMPLO: mapDispatchToProps
E finalmente…
Repita tudo outra
vez :)
LINKS UTÉIS
∎ http://redux.js.org/
∎ https://egghead.io/series/getting-started-with-redux
∎ http://blog.isquaredsoftware.com/series/idiomatic-redux/
∎ https://hackernoon.com/thinking-in-redux-when-all-youve-
known-is-mvc-c78a74d35133
OBRIGADO!
Dúvidas? Sugestões?
guilherme.ventura@globalhitss.c
om.br

Mais conteúdo relacionado

PDF
React + Flux (Alt)
PDF
React Native - JSday
PDF
Typescript: the Fun Parts (BrazilJS 2017)
PPTX
React JS - Parte 1
PPTX
React JS - Parte 2
PDF
One Language to Rule Them All: TypeScript
PDF
Projetos reativos com Angular, RxJS e Redux (ngRx)
PDF
Java script aula 07 - eventos
React + Flux (Alt)
React Native - JSday
Typescript: the Fun Parts (BrazilJS 2017)
React JS - Parte 1
React JS - Parte 2
One Language to Rule Them All: TypeScript
Projetos reativos com Angular, RxJS e Redux (ngRx)
Java script aula 07 - eventos

Mais procurados (14)

PDF
Ionic Reativo com RxJS e ngRx
PDF
React - Introdução
PDF
React Native na globo.com
PDF
Angular Extreme Performance
PPTX
11 Java Script - Exemplos com eventos
PDF
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
PDF
Interfaces ricas com Rails e React.JS @ Rubyconf 2015
PDF
Campus Party Brasil 2017: Angular 2 #cpbr10
PPTX
ODP
PDF
Desenvolvimento Front end (AngularJS e Bootstrap)
PDF
Spring boot
PDF
Java script aula 09 - JQuery
PPTX
Trabalhando de Forma Assíncrona com JavaScript
Ionic Reativo com RxJS e ngRx
React - Introdução
React Native na globo.com
Angular Extreme Performance
11 Java Script - Exemplos com eventos
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
Interfaces ricas com Rails e React.JS @ Rubyconf 2015
Campus Party Brasil 2017: Angular 2 #cpbr10
Desenvolvimento Front end (AngularJS e Bootstrap)
Spring boot
Java script aula 09 - JQuery
Trabalhando de Forma Assíncrona com JavaScript
Anúncio

Semelhante a JS Experience 2017 - React + Redux. Pensando em Redux (20)

PPTX
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PPTX
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PPTX
TDC2016SP - Trilha Frameworks JavaScript
PDF
React - Compartilhando estado entre componentes
PDF
React - Front In Maceió Framework Edition - 2017
PDF
435142330-Guia-Completo-React-Js.pdf
PDF
Hello ReactJs
PDF
Começando com React.js
PPTX
React Redux
PDF
Vacinando mais de 200 mil pessoas com ReactJS e GraphQL
PPTX
Msp TechDay - TypeScript + React + Redux
PPTX
React Starter Pack - Nerdzão Day
PDF
Curso de ReactJS
PDF
Escalando aplicações no front-end com ReactJS
PPTX
SHIPTO MEE - Software de controle de rotas
PDF
arquivopdfdenextparatestedaresolucao.pdf
PDF
React - Biblioteca Javascript para criação de UI
PDF
Intodução ao React
PDF
React js
PDF
Workshop React Hooks
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2016SP - Trilha Frameworks JavaScript
React - Compartilhando estado entre componentes
React - Front In Maceió Framework Edition - 2017
435142330-Guia-Completo-React-Js.pdf
Hello ReactJs
Começando com React.js
React Redux
Vacinando mais de 200 mil pessoas com ReactJS e GraphQL
Msp TechDay - TypeScript + React + Redux
React Starter Pack - Nerdzão Day
Curso de ReactJS
Escalando aplicações no front-end com ReactJS
SHIPTO MEE - Software de controle de rotas
arquivopdfdenextparatestedaresolucao.pdf
React - Biblioteca Javascript para criação de UI
Intodução ao React
React js
Workshop React Hooks
Anúncio

Mais de iMasters (20)

PPTX
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
PDF
Postgres: wanted, beloved or dreaded? - Fabio Telles
PPTX
Por que minha query esta lenta? - Suellen Moraes
PPTX
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
PDF
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
PPTX
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
PDF
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
PDF
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
PDF
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
PDF
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
PDF
Entendendo os porquês do seu servidor - Talita Bernardes
PDF
Backend performático além do "coloca mais máquina lá" - Diana Arnos
PPTX
Dicas para uma maior performance em APIs REST - Renato Groffe
PPTX
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
PDF
Quem se importa com acessibilidade Web? - Mauricio Maujor
PDF
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
PDF
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
PDF
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
PDF
Construindo aplicações mais confiantes - Carolina Karklis
PDF
Monitoramento de Aplicações - Felipe Regalgo
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
Postgres: wanted, beloved or dreaded? - Fabio Telles
Por que minha query esta lenta? - Suellen Moraes
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Entendendo os porquês do seu servidor - Talita Bernardes
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Dicas para uma maior performance em APIs REST - Renato Groffe
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
Quem se importa com acessibilidade Web? - Mauricio Maujor
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Construindo aplicações mais confiantes - Carolina Karklis
Monitoramento de Aplicações - Felipe Regalgo

Último (9)

PDF
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
PDF
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
PDF
Certificado de Conclusão Jornada Inteligência Artificial
PPTX
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
PPTX
TURMA modelo de modelo apresentação 4DE.pptx
PPTX
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
PDF
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
PPTX
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
PDF
Metodologias ágeis - Slides - aulas 1 a 5.pdf
A sua pontuação aumenta ao escolher uma categoria, preencher uma descrição lo...
Agosto-Lilas-Conscientizacao-e-Combate-a-Violencia-contra-a-Mulher.pdf
Certificado de Conclusão Jornada Inteligência Artificial
Classifirrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcação_IPAQ.pptx
TURMA modelo de modelo apresentação 4DE.pptx
AULA DE HTML E CSS PARA INICIANTES EM INFORMÁTICA
Apostila_de_Laboratorio_de_Quimica_Inorg.pdf
Fundamentos do Desenvolvimento Web. Fundamentos do Desenvolvimento Web.Fundam...
Metodologias ágeis - Slides - aulas 1 a 5.pdf

JS Experience 2017 - React + Redux. Pensando em Redux