nunojesus / ReactStateMuseum

A whirlwind tour of React state management systems by example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The React State Museum


One Packing List App Written in:

Technology React React Native
setState
React 16.x Context
Redux
MobX
unstated
MobX-State-Tree
GraphQL Apollo + Amazon AppSync
setState + react-automata
Freactal
ReduxX
pure-store
ReactObservableStore
react-easy-state
rematch
unistore
Microstates
remx TBD

Examples to help portray the how, why, which, pros, and cons of various state management systems in the React ecosystem.

Every app is meant to be small, simple, and the same as each other. The only difference should be the state management decisions of each. The repeated React and ReactNative app is a Packing List, with the name based on the state technology.

Web Native
example gif of app example gif of app

What are the differences?

Look at the code for yourself, OR check this blog post on the findings.

https://hackernoon.com/the-react-state-museum-a278c726315

To Run Web

  • Click the codesandbox link in the list above
  • OR Clone this repo, then cd into each folder and follow the directions in readme

To Run Native

  • Clone this repo, then cd into each folder and follow the directions in readme

Contributors

Thanks goes to these wonderful people (emoji key):


Michael Stecky-Efantis

πŸ’» πŸ’‘ ⚠️

Arthur Gunn

πŸ’» πŸ’‘

Jason Lengstorf

πŸ“–

Marco Afonso

πŸ’» πŸ’‘

Robert DeLuca

πŸ’» πŸ’‘

stereobooster

πŸ“–

Juan David Castro

πŸ’» πŸ“– πŸ’‘

Iurii Kyrylenko

πŸ’»

Charles Lowell

πŸ’»

Jakub Wadas

πŸ’» πŸ“–

Anton Rusinov

πŸ’» πŸ’‘

Miklos Bertalan

πŸ’»

Gant Laborde

πŸ’» πŸ“– πŸ’‘

Tyler Reitz

πŸ’» πŸ“–

Daniel Zlotin

πŸ’» πŸ’‘ ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

About

A whirlwind tour of React state management systems by example

License:MIT License


Languages

Language:JavaScript 41.6%Language:Objective-C 23.9%Language:HTML 15.3%Language:Python 10.6%Language:Java 8.7%