Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
You might not need redux
Maxime Thirouin
May 23, 2018
Technology
0
600
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
39
ReasonML et React Native
moox
0
300
C'est qui Reason(ML) et qu'est ce qu'il fait là?
moox
0
610
A static website with React? Really? @dotJS 2016
moox
0
33k
A static website with React? Really?
moox
0
12k
Post CSS era: From preprocessed stylesheets to CSS Modules and inline styles
moox
0
330
[FR] What the fluxk? C'est quoi Redux?
moox
0
450
[FR] Post CSS era: Des feuilles de styles préprocessés aux CSS Modules
moox
1
590
Webpack
moox
0
440
Other Decks in Technology
See All in Technology
EMになって最初の失敗談 - コミュニケーション編 -
fukuiretu
1
320
デスマーチから身を守るたったひとつの方法
kwappa
1
2.8k
“Do you have a virtual router?” Discuss how to use virtual routers
line_developers
PRO
0
450
LINE iOSエンジニアの日々 / LINE iOS Engineer Days
line_developers
PRO
1
120
創業1年目のスタートアップでAWSコストを抑えるために取り組んでいること / How to Keep AWS Costs Down at a Startup
yuj1osm
0
130
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
130
データサイエンティストとしてどう学んでいくべきか/東京大学講義: データマイニング概論: #10
yp_genzitsu
10
5.9k
re:Invent re:Cap / AWS Lambda Updates
bulbulpaul
1
140
成長が鈍化したチームを変えるためにやったこと / #RSGT2023
mongolyy
2
2.8k
WINTICKET QA における Autify 活用
kj455
1
180
The Stable Team - 機能する安定したチームをつくる - / The Stable Team
takaking22
14
7.5k
1つのアプリを開発する複数の職能横断チームの運用と今後 ~ タクシーアプリ「GO」の現状と未来 ~
takahia1988
1
3.3k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
418
60k
GraphQLの誤解/rethinking-graphql
sonatard
39
7.8k
5 minutes of I Can Smell Your CMS
philhawksworth
198
18k
Build your cross-platform service in a week with App Engine
jlugia
221
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
32
6.7k
How to name files
jennybc
46
72k
Making the Leap to Tech Lead
cromwellryan
116
7.6k
Code Review Best Practice
trishagee
50
11k
Clear Off the Table
cherdarchuk
79
290k
The Brand Is Dead. Long Live the Brand.
mthomps
48
2.9k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
A designer walks into a library…
pauljervisheath
198
16k
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