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
I Hated React too Soon, Reconciled with It Quic...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tugberk Ugurlu
January 20, 2017
Programming
0
94
I Hated React too Soon, Reconciled with It Quickly Afterwards
NDC London 2017 (London, UK)
Tugberk Ugurlu
January 20, 2017
Tweet
Share
More Decks by Tugberk Ugurlu
See All by Tugberk Ugurlu
Redis Cluster for Write Intensive Workloads
tourismgeek
1
20k
Designing Towards Event Sourcing
tourismgeek
1
20k
Essentials for Building and Leading Highly Effective Development Teams
tourismgeek
0
600
Let the Uncertainty be Your Friend: Finding Your Path in a Wiggly Road
tourismgeek
0
650
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
590
Levelling up to Become a Technical Lead
tourismgeek
2
28k
Benefits of Managed Kubernetes in Azure (Azure Container Service, AKS)
tourismgeek
0
260
GraphQL
tourismgeek
0
260
ASP.NET MVC 5 vs ASP.net Web API 2 vs ASP.NET Core MVC 1
tourismgeek
1
1.1k
Other Decks in Programming
See All in Programming
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
180
Grafana:建立系統全知視角的捷徑
blueswen
0
310
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
180
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
270
Vibe codingでおすすめの言語と開発手法
uyuki234
0
210
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
570
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
830
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
430
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
390
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
430
Ruling the World: When Life Gets Gamed
codingconduct
0
130
Docker and Python
trallard
47
3.7k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Become a Pro
speakerdeck
PRO
31
5.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Code Reviewing Like a Champion
maltzj
527
40k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Optimizing for Happiness
mojombo
379
71k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
720
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Transcript
I Hated React too Soon, Reconciled with It Quickly Afterwards
Tugberk Ugurlu Software Engineer @ Redgate @tourismgeek http://tugberkugurlu.com https://flic.kr/p/cQRAYC
https://flic.kr/p/e6nUW Aim of the Talk
https://flic.kr/p/t3H9A Once upon a time…
https://flic.kr/p/cEJMpW
https://flic.kr/p/faTRHU
https://flic.kr/p/7yqhJt JSX!
https://flic.kr/p/6sZ7Kp
https://twitter.com/tourismgeek/status/637380542191796224
https://twitter.com/tourismgeek/status/637380542191796224
None
https://flic.kr/p/6doME6
None
None
TODO: WHY! https://flic.kr/p/9yaos5
React is Simple Give it an input, get an output
React does one thing and it does it well It has a small public API surface area
https://twitter.com/thomasfuchs/status/708675139253174273
React is Simple “React applications start complex but maintenance complexity
of React applications doesn’t grow much as your applications grow
Its declarative and predictable nature High level of transferable knowledge
Learn once, write everywhere
React shines with Redux
What is Redux? “Redux is a state management library for
JavaScript applications, inspired by Flux and Elm.
What is Redux? (in human English) “Kind of like event
sourcing and pub/sub, with a fancier name.
The Problem
Redux Store
The Meat of Redux Actions Reducers Store
The Meat of Redux Actions Actions describe updates
The Meat of Redux Reducers Reducers apply updates based on
actions
The Meat of Redux Store Store is where everything comes
together and it acts as the source of truth for the application state
Simple Example: Counter
React Usage (Manual Way)
Usage with React
The Whole Idea Data Down Actions Up http://www.samselikoff.com/blog/data-down-actions-up/
The Whole Idea You have one state, one state only
for your entire application! https://flic.kr/p/9QQHW
The Whole Idea You never mutate the state! https://flic.kr/p/pzf72v
But why Redux and not flux, mobx, marty? https://flic.kr/p/NzcYg
It boils down to scientific reasons https://flic.kr/p/byrtr Well... NO!
Widely Adopted
Widely Adopted
Rich Docs and Resources http://redux.js.org/
Rich Ecosystem https://www.npmjs.com/search?q=redux
Rich Ecosystem http://redux-form.com/6.0.0-rc.5
Boost on Happiness with React and Redux https://flic.kr/p/99iZtS
https://twitter.com/dan_abramov/status/780475600716857344
https://github.com/facebook/react-devtools React Developer Tools
Redux Developer Tools https://github.com/gaearon/redux-devtools https://github.com/zalmoxisus/redux-devtools-extension
Redux Logger npm install redux-logger https://github.com/evgenyrodionov/redux-logger
Redux Immutable State Checker npm install redux-immutable-state-invariant https://github.com/leoasis/redux-immutable-state-invariant
Redux Undo npm install redux-undo https://github.com/omnidan/redux-undo
https://github.com/joshwcomeau/redux-vcr Redux VCR
https://twitter.com/tourismgeek/status/767629396916178947
https://egghead.io/courses/getting-started-with-redux Some Resources
https://egghead.io/courses/building-react-applications-with-idiomatic-redux Some Resources
Some Resources • My Blog Post on React: http://bit.ly/2jwicka •
React Docs: https://facebook.github.io/react/docs/hello-world.html • Redux Docs: http://redux.js.org • The Redux Journey at react-europe 2016: http://bit.ly/2bJEZEP • Redux Usage with React: http://bit.ly/2bdAiVO • Presentational and Container Components: http://bit.ly/2bM3DpO • (Pluralsight Course) Building Applications with React and Redux in ES6: http://bit.ly/2bRAQ4T • Thinking in React: https://facebook.github.io/react/docs/thinking-in-react.html • React Reconciliation: https://facebook.github.io/react/docs/reconciliation.html • Influencers of Redux: https://github.com/reactjs/redux#influences • Why did you reinvented Event Sourcing?: https://github.com/gaearon/ama/issues/110
99% Boost on Dev Happiness npm install redux-logger https://github.com/evgenyrodionov/redux-logger https://twitter.com/tourismgeek/status/637380542191796224
Redux Internals: It’s Freakin Tiny!