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
Advanced State Management Patterns with React
Search
Francesco Strazzullo
October 03, 2019
Programming
0
110
Advanced State Management Patterns with React
Slides for ReactJs Day 2019 Workshop
Francesco Strazzullo
October 03, 2019
Tweet
Share
More Decks by Francesco Strazzullo
See All by Francesco Strazzullo
Strategic Testing Decisions - Build Stuff 2021
francescostrazzullo
0
69
Contract-Driven_Development.pdf
francescostrazzullo
0
500
Domain-Driven Frontend
francescostrazzullo
0
980
Strategic Testing Decisions
francescostrazzullo
0
320
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
francescostrazzullo
2
76
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
370
How to Choose Your Next Technology Stack
francescostrazzullo
0
660
The Definition of Framework
francescostrazzullo
1
620
How to Choose Your Next Technology Stack
francescostrazzullo
1
230
Other Decks in Programming
See All in Programming
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
580
ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!
kotomin_m
1
300
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
1
940
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
memory1994
PRO
1
490
20240301_cocone_EMゆるミートアップvol6_LT資料
cocone
0
310
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
2
210
ONE WEDGE_Company_Information
1wedge
0
160
Laravel標準バリデーションでできること
hmb_ok
2
360
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
160
せっかくモデル図描くのなら、嬉しいことが多い方がいいよね!
kuboaki
1
1.2k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
4
2.7k
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
3
810
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.5k
Bash Introduction
62gerente
604
210k
The Invisible Side of Design
smashingmag
293
49k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
Making Projects Easy
brettharned
106
5.4k
Making the Leap to Tech Lead
cromwellryan
122
8.4k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
For a Future-Friendly Web
brad_frost
170
8.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
11
1.4k
Git: the NoSQL Database
bkeepers
PRO
421
63k
Transcript
Advanced State Management Patterns with React
Francesco Strazzullo (AKA Strazz) @TheStrazz86 (Follow me on Twitter!) Ego
Slide
WE DEVELOP DIGITAL PROJECT TOGETHER WITH YOU.
http://frameworklessmovement.org/
https://www.apress.com/it/book/9781484249666 Use “TheStrazz” discount code
Source Code for the Workshop https://github.com/ideatosrl/reactjs-advanced-state-management-workshop
Why are you here?
What is “State Management”?
“State management refers to the management of the state of
one or more user interface controls such as text fields, OK buttons, radio buttons, etc. in a graphical user interface.” Wikipedia
React State API
None
None
None
None
None
What’s Wrong with that?
What is the best State Management Pattern?
None
Bring out tradeoffs
Framework Compass Chart
Model View Controller
“Trygve Reenskaug introduced MVC into Smalltalk-79 while visiting the Xerox
Palo Alto Research Center (PARC) in the 1970s.” Wikipedia
None
None
Reactive Programming (or I learned the real meaning of reactive
programming…)
Reactive Manifesto
Responsive, Resilient, Elastic, Message Driven
None
“In computing, reactive programming is a programming paradigm oriented around
data flows and the propagation of change.” Wikipedia
None
RxJS
None
Let’s try with an example
const a = b + c;
=B1+C1
None
None
None
Is React Reactive?
None
MobX
“MobX is a battle tested library that makes state management
simple and scalable by transparently applying functional reactive programming” MobX Getting Started
MobX helps you observe your Model
None
None
None
Event Bus
None
None
None
Redux
“A Predictable State Container for JS Apps” redux.js.org
Redux Cheatsheet Event = Action Model = Reducers Event Bus
= Store
None
Thanks! Francesco Strazzullo
[email protected]