make-reducer

Functions to easily build redux reducers without boilerplate code.

Usage no npm install needed!

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

README

npm version Build Status codecov.io Total downloads

make-reducer

Functions to easily build redux reducers without boilerplate code.

Counter example

const initialState = 0;
const reducer = makeReducer(initialState);

const increment = reducer.on('INCREMENT', (counter) => counter + 1);
const decrement = reducer.on('DECREMENT', (counter) => counter - 1);

const store = createStore(reducer, initialState);

store.dispatch(increment());
store.dispatch(decrement());

You can use named functions to define actions.

const initialState = 0;
const reducer = makeReducer(initialState);

const increment = reducer.on(function INCREMENT(counter) { return counter + 1; });
const decrement = reducer.on(function DECREMENT(counter) { return counter - 1; });

const store = createStore(reducer, initialState);

store.dispatch(increment());
store.dispatch(decrement());