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
React's Lost Socks: Where Did I Put that Compon...
Search
Adam Conrad
March 26, 2019
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
React's Lost Socks: Where Did I Put that Component?
This talk aims to add structure for production-ready React applications. Hopefully.
Adam Conrad
March 26, 2019
More Decks by Adam Conrad
See All by Adam Conrad
Code review in JavaScript
acconrad
0
700
The Dos and Don'ts of CBRA
acconrad
0
93
A-Frame and You
acconrad
0
53
UX and Performance
acconrad
0
72
SX - Startup Experience
acconrad
0
78
Other Decks in Programming
See All in Programming
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
200
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
210
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
560
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
3.3k
Cloudflare is Agents
chimame
0
170
仕様駆動開発の消費期限
watany
20
8.6k
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
110
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
110
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.1k
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
410
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
550
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
650
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Code Review Best Practice
trishagee
74
20k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Building AI with AI
inesmontani
PRO
1
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Crafting Experiences
bethany
1
250
Transcript
React’s Lost Socks Where did I put that component?
None
None
(Everything in its right place)
Who in the h*ck are you??
@theadamconrad
Why are we here?
React deserves structure
None
None
None
Such segmentati on
Such segmentati on Lol wut tests
Such segmentati on Lol wut tests Are u too good
for ur home
Such segmentati on Lol wut tests Are u too good
for ur home
None
None
None
None
Some prereqs
Some prereqs
None
CCU Pattern
CCU Pattern MVC for the front-end
CCU Pattern MVC for the front-end Component
CCU Pattern MVC for the front-end Component => Model Container
CCU Pattern MVC for the front-end Component => Model Container
=> Controller Utility
CCU Pattern MVC for the front-end Component => Model Container
=> Controller Utility => View
None
Prereqs For real apps React (duh) Apollo & GraphQL React
Router Styled-components Formik Typescript (optional)
None
0. Set up routes
None
1. Add a page/route
None
None
2. Add a component
None
None
3. Add tests (you know you want to)
None
None
4. Component too big? Split it up
None
None
None
5. Component doing too much? Add a utility
None
None
None
6. Nested containers? Not a problem!
None
None
None
None
None
7. Writing data? We got that too!
None
None
None
None
None
8. App doing too much? Split it up!
None
9. THERE IS NO STEP NINE
None
In summary
In summary Touching data? CONTAINER
In summary Touching data? CONTAINER Passing data? COMPONENT
In summary Touching data? CONTAINER Passing data? COMPONENT Adding logic?
UTILITY
None
Kthnxbye. questions?