0.0.2 • Published 6 years ago

create-state v0.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

🍱 create-state

Tiny (<200B minified + gzipped) state atoms that are updated via reducers.

import createState from "create-state"

const initialState = { count: 0 };
function reducer(state, action) {
  switch (action.type) {
    case "INCREMENT":
      return { count: state.count + 1 };
    case "DECREMENT":
      return { count: state.count - 1 };
  }
}
const store = createState(reducer, initialState);


console.log(store.getState().count); // => 0

store.dispatch({ type: "INCREMENT" })

console.log(store.getState().count); // => 1

create-state is a lightweight implementation of a Redux store without advanced concepts like middleware.

Installation

npm install --save create-state

Contributing

Every help on this project is greatly appreciated. To get you started, here's a quick guide on how to make good and clean pull-requests:

  1. Create a fork of this repository, so you can work on your own environment.
  2. Install development dependencies locally:

    git clone git@github.com:<your-github-name>/create-store.git
    cd create-store
    yarn install
  3. Make changes using your favorite editor.

  4. Commit your changes (here is a wonderful guide on how to make amazing git commits).
  5. After a few seconds, a button to create a pull request should be visible inside the Pull requests section.

Future Improvements

  • Add Flow and TypeScript types. This is actually very important for this library: Actions must be typed as an enum such that the type system can find out if we use the wrong type.
  • Improve test harness.

License

MIT