vanilla-create-reducer

Create a reducer from an object of action types and reducer functions. To be used with any JS framework.

Usage no npm install needed!

<script type="module">
  import vanillaCreateReducer from 'https://cdn.skypack.dev/vanilla-create-reducer';
</script>

README

create-vanilla-reducer Travis CI badge

Create a reducer from an object of reducer functions keyed by the action type. To be used with any JS framework.

An alternative pattern to the classic Redux style switch case.

import createReducer from "vanilla-create-reducer";

const ACTIONS = {
  toggle: "__toggle__",
  set: "__set__",
};

function toggle(state, action) {
  return { ...state, on: !state.on };
}

function set(state, action) {
  return { ...state, on: action.on };
}

const reducer = createReducer({
  [ACTIONS.toggle]: toggle,
  [ACTIONS.set]: set,
});

To see createReducer in action, check out this React sandbox