Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Recompose
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Thulio Philipe
December 01, 2018
Programming
630
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Recompose
Evento: JSDay Recife
Thulio Philipe
December 01, 2018
More Decks by Thulio Philipe
See All by Thulio Philipe
CUI & Feature Flags
thulioph
0
120
+97% of Time Reduction to Onboarding New Metrics
thulioph
0
140
Cache, além do CTRL + F5
thulioph
0
140
CSS na era dos Componentes
thulioph
0
420
Styled Components
thulioph
0
430
Redux 101
thulioph
0
300
Cache
thulioph
2
320
Segurança de Aplicações Web - 101
thulioph
0
170
Vuejs
thulioph
5
1.1k
Other Decks in Programming
See All in Programming
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
640
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
740
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.8k
3Dシーンの圧縮
fadis
1
680
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
690
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
210
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.1k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
220
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
560
Exploring anti-patterns in Rails
aemeredith
3
400
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
580
Transcript
Recompose O lodash para React
github.com/thulioph twitter.com/thulioph_ thulioph.com
github.com/thulioph twitter.com/thulioph_ thulioph.com
github.com/labcodes twitter.com/labcodes labcodes.com.br
None
None
Avisos
•Não se preocupe com os links, todos estão nos slides.
•Não se preocupe com os links, todos estão nos slides.
•Todo material será disponibilizado no final da apresentação.
•Não se preocupe com os links, todos estão nos slides.
•Todo material será disponibilizado no final da apresentação. •Tome nota de alguns termos, podem ser úteis para pesquisas futuras.
•Não se preocupe com os links, todos estão nos slides.
•Todo material será disponibilizado no final da apresentação. •Tome nota de alguns termos, podem ser úteis para pesquisas futuras. •Comunique-se!
Composição
– Dicionário “Ação ou efeito de compor, formar um todo.”
twitter.com/chantastic
youtu.be/YaZg8wg39QQ
None
None
Círculo grande
None
Círculo pequeno
None
Círculo pequeno dentro de um círculo grande
Círculo pequeno dentro de um círculo grande
Círculo pequeno dentro de um círculo grande
None
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado
None
None
Tecnicamente Falando
Círculo Render props context state lifecycle events
Círculo grande Render props context state lifecycle events Círculo pequeno
Render props context state lifecycle events
SMART Render props context state lifecycle events DUMB Render props
context state lifecycle events
CONTAINER Render props context state lifecycle events PRESENTATION Render props
context state lifecycle events
CONTROLLER Render props context state lifecycle events VIEW Render props
context state lifecycle events
DATA Render props context state lifecycle events DISPLAY Render props
context state lifecycle events
CÍRCULO GRANDE Render props context state lifecycle events CÍRCULO PEQUENO
Render props context
STATEFULL COMPONENTE STATELESS COMPONENTE
Divisão de Responsabilidades
Círculo pequeno dentro de um círculo grande
Círculo pequeno dentro de um círculo grande verde
Círculo pequeno dentro de um círculo grande laranja
Círculo pequeno dentro de um círculo grande amarelo
Círculo pequeno dentro de um círculo grande rosa
reutilizando o círculo pequeno
reutilizando o círculo pequeno componente
None
None
None
None
None
CONTAINER COMPONENTE
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado verde
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado laranja
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado amarelo
Círculo pequeno dentro de um círculo grande dentro de um
círculo pontilhado rosa
reutilizando os dois círculos
reutilizando os dois círculos containers
None
None
None
None
None
None
None
None
HIGHER-ORDER COMPONENT
Ferramentas
Lodash lodash.com
Lodash
Lodash
Lodash
npmjs.com/browse/depended
sitepoint.com/lodash-features-replace-es6
Recompose github.com/acdlite/recompose
withState()
Recompose
Recompose
Recompose
withHandlers()
Recompose
Recompose
Recompose
Recompose
lifecycle()
Recompose
Recompose
Recompose
Recompose
branch()
Recompose
Recompose
Recompose
Recompose
Recompose
nest()
Recompose
youtu.be/zD_judE-bXk
Briefing
1.Exibir uma lista de items em formato de card.
1.Exibir uma lista de items em formato de card. 2.Cada
card possui um toggle que exibe/esconde o conteúdo.
1.Exibir uma lista de items em formato de card. 2.Cada
card possui um toggle que exibe/esconde o conteúdo. 3.Os dados dos cards, serão fornecidos por uma API.
1.Exibir uma lista de items em formato de card. 2.Cada
card possui um toggle que exibe/esconde o conteúdo. 3.Os dados dos cards, serão fornecidos por uma API. 4.Enquanto carregar os cards, deve-se exibir um loading.
codesandbox.io/s/825zovqwm8
LET’S CODE!
parte 1 Exibir uma lista de items em formato de
card
None
None
None
None
None
None
None
codesandbox.io/s/825zovqwm8
parte 2 Cada card possui um toggle que exibe/esconde o
conteúdo
None
None
None
None
None
None
None
None
None
None
None
None
None
codesandbox.io/s/825zovqwm8
parte 3 Os dados dos cards, serão fornecidos por uma
API
None
None
None
None
None
None
None
codesandbox.io/s/825zovqwm8
parte 4 Enquanto carregar os cards, deve-se exibir um loading
None
None
None
None
None
None
None
codesandbox.io/s/825zovqwm8
None
Post-mortem
NÃO É A MÚSICA DO SLAYER
NÃO POSSUI LIGAÇÃO COM MORTE
— Esse que vos fala, agora. “É uma retrospectiva no
fim de um projeto, com o objetivo de analisar os desafios e resultados entregues. ”
lab.codes/devpleno
Obrigado! speakerdeck.com/thulioph/recompose