create-state

0.0.2 • Public • Published

🍱 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

Readme

Keywords

none

Package Sidebar

Install

npm i create-state

Weekly Downloads

0

Version

0.0.2

License

MIT

Unpacked Size

8.13 kB

Total Files

5

Last publish

Collaborators

  • philipp-spiess