Skip to content

ghoshnirmalya/building-redux-from-scratch

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

My Redux

Build Status

This app demonstrates how you can build your own version of Redux. my-redux-example is an app which is using this package to maintain it's state. You can view the whole implementation in this file.

Logo

Example usage

Step 1: Import the createStore function from my-redux into your app

import createStore from "my-redux";

Step 2: Create a reducer function

const reducer = (state = initialState, action) =>
  action.type === "INCREMENT"
    ? { count: state.count + action.payload.count }
    : state;

Step 3: Pass that reducer function to the createStore function along with the initialState of your app

this.store = createStore(reducer, { count: 0 });

Step 4: Dispatch an action to update your store

this.store.dispatch({
  type: "INCREMENT",
  payload: {
    count: 1
  }
});

You store should now reflect the updated state. You can verify that by logging the state of your store:

console.log(this.store.getState());

my-redux-example is an app which is using this package to maintain it's state. You can view the whole implementation in this file.

Development

$ git clone https://github.com/ghoshnirmalya/my-redux
$ cd my-redux
$ yarn install

Running the tests

$ yarn test

Getting the test coverage

$ yarn coverage

Building the code

$ yarn build

Publish

$ yarn version patch|minor|major
$ yarn publish

It'll automatically run test, docs, build and generate CHANGELOG.md file.

License

MIT © Nirmalya Ghosh