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
820
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
91
ReasonML et React Native
moox
0
450
C'est qui Reason(ML) et qu'est ce qu'il fait là?
moox
0
870
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
570
[FR] What the fluxk? C'est quoi Redux?
moox
0
660
[FR] Post CSS era: Des feuilles de styles préprocessés aux CSS Modules
moox
1
860
Webpack
moox
0
640
Other Decks in Technology
See All in Technology
コロプラのオンボーディングを採用から語りたい
colopl
5
1.3k
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
Goで実践するBFP
hiroyaterui
1
120
新卒1年目、はじめてのアプリケーションサーバー【IBM WebSphere Liberty】
ktgrryt
0
120
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
7.7k
東京Ruby会議12 Ruby と Rust と私 / Tokyo RubyKaigi 12 Ruby, Rust and me
eagletmt
3
870
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
360
30分でわかる「リスクから学ぶKubernetesコンテナセキュリティ」/30min-k8s-container-sec
mochizuki875
3
450
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
140
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
140
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Designing for humans not robots
tammielis
250
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
YesSQL, Process and Tooling at Scale
rocio
170
14k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Fireside Chat
paigeccino
34
3.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Gamification - CAS2011
davidbonilla
80
5.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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