SlideShare a Scribd company logo
The battle of state
management
Ran Wahle
Tikal
• What is state management?
• Presenting our app
• Same app – The Redux way
• Same app – The Mobx way
• Summary
A little bit about me
• Javascript developer at Tikal
• Consultant, speaker
• Volunteering programmer
• Poor UI designer
Why state management
Component Component
Component
Component
Provider
Provider
Provider
Why state management
Component Component
Component
Component
Provider
Provider
Provider
Provider
Provider
Provider
Component
Component
Component
Component
State Management
Component Component
Component
Component
Provider
Provider
Provider
Store
State management gives us
• One store to rule them all
• Better debugging (~)
Demo – Call-canter Management app
The Redux way
• Actions
• Reducers
• Middlewares
Redux pipeline
Dispatch action
Apply
middleware logic
Run reducer
code
Redux to ngrx glossary dictionary
Redux ngrx
State State
Reducer Reducer
Middleware Effect
Selector Selector
Action Action
The Mobx way
• Decorates your model
• Create your store
Why Mobx
• It is automatic easy
• It reduces your code to minimum
And why not?
• It may be too easy
• It couples your model with logic
• It is less testable than redux
Some best practices
• Connect only smart component to the store
• Use store for reusable data
• Wish to preserve state for single screen?
Preserve limited data only.
Summary
• We’ve seen two ways for state management
• There is a manual, more testable and more complex one
• We’ve seen automatic, less testable and more ”magical” one
Other resources
• Good performance benchmark
https://twitter.com/mweststrate/status/718444275239882753
• Redux page on github
https://github.com/reactjs/redux
• Mobx page on github
https://github.com/mobxjs/mobx
• Chrome extensions:
Mobx - https://chrome.google.com/webstore/detail/mobx-developer-
tools/pfgnfdagidkfgccljigdamigbcnndkod
Redux - https://chrome.google.com/webstore/detail/redux-
devtools/lmhkpmbekcpmknklioeibfkpmmfibljd
Thank you
Ran Wahle
ranw@tikalk.com , ran.wahle@gmail.com
@ranwahle
https://blogs.microsoft.com/ranw
https://github.com/ranwahle

More Related Content

PPTX
Kanban - Establish a Delivery Rhythm
PDF
Embrace DevOps: Delivery Value with Puppet Automation
PPTX
Kanban – Visualizing the value chain
PDF
Spending Money to Save Money... and Getting Your Boss to Sign Off On It
PPTX
Mobile Synchronization Patterns for Large Volumes of Data
PPTX
Kanban - Set a pace for the input
PDF
Supervise your Akka actors
PPTX
Taking Advantage of Cloud Load Balancer
Kanban - Establish a Delivery Rhythm
Embrace DevOps: Delivery Value with Puppet Automation
Kanban – Visualizing the value chain
Spending Money to Save Money... and Getting Your Boss to Sign Off On It
Mobile Synchronization Patterns for Large Volumes of Data
Kanban - Set a pace for the input
Supervise your Akka actors
Taking Advantage of Cloud Load Balancer

What's hot (20)

PDF
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
PPTX
Using Processes and Timers for Long-Running Asynchronous Tasks
PPTX
Tenants: A Look Behind the Scenes
PPTX
Serverless architecture: focus on code, performance and costs
PPTX
Easy call asterisk server
PDF
Webinar Slides: How Samsung ARTIK Serves Global IoT Customers in the Cloud
PDF
Exchange Workshop - GSX
PPTX
Measure Customer Experience of Your OutSystems Web and Mobile Applications
PDF
Sajan-SiteSyncReverseProxySolution
PDF
Rate limits and performance Talk
PDF
Rate limits and Performance
PPTX
Xtm webinar presentation xtm system overview
PPTX
Kanban: The Dilemma of an Agile Manager
PPTX
Altus Alliance 2016 - Transitioning From On-Premise to the Cloud
PPTX
Autobahn primer
PDF
Going Global with Outsystems Mobile
PPTX
Using Processes and Timers for Long-Running Asynchronous Tasks
PPTX
Kanban - Extreme improvements in five quarters
PPTX
Console park
PPTX
The good, the bad, the ugly side of step functions
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
Using Processes and Timers for Long-Running Asynchronous Tasks
Tenants: A Look Behind the Scenes
Serverless architecture: focus on code, performance and costs
Easy call asterisk server
Webinar Slides: How Samsung ARTIK Serves Global IoT Customers in the Cloud
Exchange Workshop - GSX
Measure Customer Experience of Your OutSystems Web and Mobile Applications
Sajan-SiteSyncReverseProxySolution
Rate limits and performance Talk
Rate limits and Performance
Xtm webinar presentation xtm system overview
Kanban: The Dilemma of an Agile Manager
Altus Alliance 2016 - Transitioning From On-Premise to the Cloud
Autobahn primer
Going Global with Outsystems Mobile
Using Processes and Timers for Long-Running Asynchronous Tasks
Kanban - Extreme improvements in five quarters
Console park
The good, the bad, the ugly side of step functions
Ad

Similar to Boost js state management (20)

PPTX
Frontend State management
PPTX
Mukesh sharma
PDF
react redux.pdf
PPTX
unit 2 Mastering-State-Management-in-React.pptx
PDF
State Management in Angular/React
PDF
React state managmenet with Redux
PPTX
React state management paradigms, Роман Якобчук
PPTX
STATE MANAGEMENT IN REACT [Autosaved].pptx
PDF
Making react part of something greater
PDF
React.js and Redux overview
PDF
Mobx State Tree - Opinionated State Management
PDF
ReactRedux.pdf
PDF
Redux State Management System A Comprehensive Review
PPTX
FRONTEND BOOTCAMP 4.pptx
PDF
Using Redux with React
PDF
The Redux State of the Art - Shem Magnezi+Limor Mekaiten, WeWork
PPTX
The Redux State of the Art
PPTX
State management with ngRX
PPTX
7 Redux challenges
PDF
React Redux Interview Questions PDF By ScholarHat
Frontend State management
Mukesh sharma
react redux.pdf
unit 2 Mastering-State-Management-in-React.pptx
State Management in Angular/React
React state managmenet with Redux
React state management paradigms, Роман Якобчук
STATE MANAGEMENT IN REACT [Autosaved].pptx
Making react part of something greater
React.js and Redux overview
Mobx State Tree - Opinionated State Management
ReactRedux.pdf
Redux State Management System A Comprehensive Review
FRONTEND BOOTCAMP 4.pptx
Using Redux with React
The Redux State of the Art - Shem Magnezi+Limor Mekaiten, WeWork
The Redux State of the Art
State management with ngRX
7 Redux challenges
React Redux Interview Questions PDF By ScholarHat
Ad

More from Ran Wahle (20)

PPTX
Implementing promises with typescripts, step by step
PPTX
HTML dialog element demonstration session
PPTX
MicroFrontend With Iframes, dirty laundry that can be cleaned
PPTX
Into React-DOM.pptx
PPTX
Lets go to the background
PPTX
Permissions api
PPTX
Lets go vanilla
PPTX
Custom elements
PPTX
Web workers
PPTX
Using legacy code with micro frontends
PPTX
Ngrx one-effect
PPTX
Angular migration
PPTX
Javascript async / await Frontend-IL
PPTX
Angular 2.0 change detection
PPTX
Code migration from Angular 1.x to Angular 2.0
PPTX
Async patterns in javascript
PPTX
Angular js 2
PPTX
Asyncawait in typescript
PPTX
Angular%201%20to%20angular%202
PPTX
What’s new in angular 2 - From FrontEnd IL Meetup
Implementing promises with typescripts, step by step
HTML dialog element demonstration session
MicroFrontend With Iframes, dirty laundry that can be cleaned
Into React-DOM.pptx
Lets go to the background
Permissions api
Lets go vanilla
Custom elements
Web workers
Using legacy code with micro frontends
Ngrx one-effect
Angular migration
Javascript async / await Frontend-IL
Angular 2.0 change detection
Code migration from Angular 1.x to Angular 2.0
Async patterns in javascript
Angular js 2
Asyncawait in typescript
Angular%201%20to%20angular%202
What’s new in angular 2 - From FrontEnd IL Meetup

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
ai tools demonstartion for schools and inter college
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administration Chapter 2
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Digital Strategies for Manufacturing Companies
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
System and Network Administraation Chapter 3
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How to Choose the Right IT Partner for Your Business in Malaysia
ai tools demonstartion for schools and inter college
Odoo Companies in India – Driving Business Transformation.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administration Chapter 2
How Creative Agencies Leverage Project Management Software.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Digital Strategies for Manufacturing Companies
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
2025 Textile ERP Trends: SAP, Odoo & Oracle
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Which alternative to Crystal Reports is best for small or large businesses.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
System and Network Administraation Chapter 3
Navsoft: AI-Powered Business Solutions & Custom Software Development
Lecture 3: Operating Systems Introduction to Computer Hardware Systems

Boost js state management