Skip to content

ghoshnirmalya/building-redux-from-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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