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
130
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
83
Contract-Driven_Development.pdf
francescostrazzullo
0
590
Domain-Driven Frontend
francescostrazzullo
0
1.9k
Strategic Testing Decisions
francescostrazzullo
0
350
A DIY Guide To Building Your Own Rendering Engine - CityJS2021
francescostrazzullo
2
92
Technical Decision-making Anti-patterns - Avanscoperta Meetup 2021
francescostrazzullo
0
420
How to Choose Your Next Technology Stack
francescostrazzullo
0
1.5k
The Definition of Framework
francescostrazzullo
1
1.5k
How to Choose Your Next Technology Stack
francescostrazzullo
1
260
Other Decks in Programming
See All in Programming
TDD 実践ミニトーク
contour_gara
1
200
🔨 小さなビルドシステムを作る
momeemt
2
590
コーディングエージェント時代のNeovim
key60228
1
110
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
340
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
180
AHC051解法紹介
eijirou
0
630
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
150
物語を動かす行動"量" #エンジニアニメ
konifar
14
5.5k
rage against annotate_predecessor
junk0612
0
100
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
23
9.1k
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
2
270
Namespace and Its Future
tagomoris
6
590
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2k
Become a Pro
speakerdeck
PRO
29
5.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Language of Interfaces
destraynor
160
25k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Designing for Performance
lara
610
69k
Gamification - CAS2011
davidbonilla
81
5.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
The Art of Programming - Codeland 2020
erikaheidi
55
13k
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]