1.0.0 • Published 6 years ago

create-store v1.0.0

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

🍱 create-store

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

import createStore from "create-store";

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 = createStore(reducer, initialState);

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

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

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

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

Edit create-store

Installation

npm install --save create-store

Using With React

The best way to use create-store state atoms with React is to use useSubstate. You can find more information in the README of that library.

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