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
You might not need redux
Search
Maxime Thirouin
May 23, 2018
Technology
0
890
You might not need redux
More info at
https://moox.io/talk/you-might-not-need-redux/
Maxime Thirouin
May 23, 2018
Tweet
Share
More Decks by Maxime Thirouin
See All by Maxime Thirouin
Dumb CSS-in-JS
moox
0
110
ReasonML et React Native
moox
0
520
C'est qui Reason(ML) et qu'est ce qu'il fait là?
moox
0
940
A static website with React? Really? @dotJS 2016
moox
0
34k
A static website with React? Really?
moox
0
16k
Post CSS era: From preprocessed stylesheets to CSS Modules and inline styles
moox
0
650
[FR] What the fluxk? C'est quoi Redux?
moox
0
710
[FR] Post CSS era: Des feuilles de styles préprocessés aux CSS Modules
moox
1
960
Webpack
moox
0
680
Other Decks in Technology
See All in Technology
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
4
490
伴走から自律へ: 形式知へと導くSREイネーブリングによる プロダクトチームの信頼性オーナーシップ向上 / SRE NEXT 2025
visional_engineering_and_design
2
180
AWS CDK 開発を成功に導くトラブルシューティングガイド
wandora58
3
140
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
290
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
330
AI エージェントと考え直すデータ基盤
na0
17
6.8k
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
230
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
230
[ JAWS-UG千葉支部 x 彩の国埼玉支部 ]ムダ遣い卒業!FinOpsで始めるAWSコスト最適化の第一歩
sh_fk2
2
150
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
3
530
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
460
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
1
230
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.7k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
For a Future-Friendly Web
brad_frost
179
9.8k
Why Our Code Smells
bkeepers
PRO
336
57k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Adopting Sorbet at Scale
ufuk
77
9.5k
RailsConf 2023
tenderlove
30
1.1k
Code Review Best Practice
trishagee
69
19k
Being A Developer After 40
akosma
90
590k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Making Projects Easy
brettharned
116
6.3k
Unsuck your backbone
ammeep
671
58k
Transcript
@MoOx Do you need redux? 1 @MoOx
@MoOx Redux is a predictable state container for JavaScript apps.
2
@MoOx 3 State UI Actions Reducer transformed into dispatches passed
to returns new
@MoOx - behave consistently - run in different environments (client,
server, and native) - are easy to test 4 Redux helps you write applications that
@MoOx - live code editing (hot reloading) - time traveling
debugger. 5 Redux provides a great developer experience
@MoOx - persist state (local storage) & boot from it
(CSR & SSR) - serialize actions & save/reuse those - easy undo/redo / time traveling - share business logic between apps 6 Redux allows you to
@MoOx (Not tied to React) 7
@MoOx 8 @MoOx Redux is nice, makes app structuring foreseeable,
forces developers to think about their model
@MoOx But… 9
@MoOx 10 https://www.youtube.com/watch?v=Q54YDGC_t3Y
@MoOx 11 https://twitter.com/housecor/status/962754389533429760
@MoOx “Let’s use Redux everywhere” 12
@MoOx “Let’s use Redux for a form input” 13
@MoOx Redux for a form input? 14 https://github.com/erikras/redux-form
@MoOx If you abuse Redux, all your components might end
up being connect()ed 15 Is this what you want?
@MoOx Be careful not to use redux for everything 16
https://github.com/final-form/react-final-form By the guy that did redux-form, but later
@MoOx Redux + redux-thunk 17 Need at least 3 or
4 files. Reusability--
@MoOx React Context API A Replacement for Redux? 18 https://blog.bitsrc.io/react-context-api-a-replacement-for-redux-6e20790492b3
@MoOx Redux uses context 19
@MoOx Think McFly, think! 20
@MoOx What is setState() again? 21
@MoOx 22
@MoOx 23
@MoOx setState() and passing props might be enough 24 (if
your store is at the top of your app, you can pass things down)
@MoOx setState() 25 Everything fits in a file. Reusability++
@MoOx https://reactjs.org/docs/ react-component.html#setstate 26
@MoOx 27
@MoOx 28
@MoOx 29
@MoOx You might not need redux 30 @MoOx
@MoOx 31 https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
@MoOx 32 https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
@MoOx 33 https://duckduckgo.com/?q=you+might+not+need+redux
@MoOx http://www.youmightnotneedredux.info 34
@MoOx 35 https://twitter.com/jevakallio/status/962968823648391168
@MoOx 36 https://twitter.com/kentcdodds/status/962907908517257216
@MoOx 37 https://twitter.com/housecor/status/962890121027706880
@MoOx Local state is fine 38 https://gist.github.com/gaearon/a9bbb73d57b6e4cc17d7b50807b62f9a
@MoOx 39 https://twitter.com/dan_abramov/status/824308413559668744/photo/1
@MoOx https://gist.github.com/gaearon/64e2c4adce2b4918c96c3db2b44d8f68 Redux without redux 40
@MoOx “Should you do this to your stateful components? Probably
not. Not unless you have a plan to benefit from this additional indirection” 41 https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367
@MoOx What redux does, ReasonReact and Elm do 42 Actions
are types, reducers are functions, state is immutable, but at the language level
@MoOx 43
@MoOx “done in collaboration with the ReactJS team” 44 https://reasonml.github.io/reason-react/blog/2017/09/01/reducers.html
@MoOx - Does my app need this? - Does my
team need this? - Does my product need this? @MoOx 45 Before adding Redux (and other fancy things)
@MoOx Do my users need this? 46
@MoOx Redux is nice But not required 47
@MoOx Use Redux when it’s necessary not before 48 Like
any other tool
@MoOx Let’s love Redux Let’s hate Redux 49
@MoOx (More “you might not need”?) 50 https://youmightnotneed.com
@MoOx 51 Questions ? https://moox.io/ @MoOx Maxime Thirouin