The projects in this repository represent many ways of managing state for the Car Tool application.
To use each project (except the Apollo/GraphQL version), run the following commands:
cd <PROJECT FOLDER>
npm install
npm start
For the Apollo/GraphQL version, run the following commands:
cd <PROJECT FOLDER>
npm install
npm run start-rest-server
Next, open a new terminal window, and run the following commands:
cd <PROJECT FOLDER>
npm run start-graphql-server
Finally, open a third terminal window, and run the following commands:
cd <PROJECT FOLDER>
npm run start-client
For all projects, once the React application starts it should open your default web browser and load the React web site. If it does not, please use this URL in the browser of your choice.
http://localhost:3000
The "async" version include the following state managers:
- React Context React Context Docs
- Redux Redux Docs, React Bindings for Redux Docs
- MobX MobX Docs, React Bindings for MobX Docs
- Satchel (Microsoft's combination of Redux and MobX) Satchel Docs
- Apollo/GraphQL Apollo Docs, GraphQL Docs, React Bindings for Apollo Docs
For the Satchel library, there are two synchronous versions which explore the use of actions, mutators and action/mutators.