Nanoprogrammed Penultimate Musicianship
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

reduce-reducers

0.4.3 • Public • Published

reduce-reducers

Build Status npm Version npm Downloads Monthly

Reduce multiple reducers into a single reducer from left to right

Install

npm install reduce-reducers

Usage

import reduceReducers from 'reduce-reducers';
 
const initialState = { A: 0, B: 0 };
 
const addReducer = (state, payload) => ({ ...state, A: state.A + payload });
const multReducer = (state, payload) => ({ ...state, B: state.B * payload });
 
const reducer = reduceReducers(addReducer, multReducer, initialState);
 
const state = { A: 1, B: 2 };
const payload = 3;
 
reducer(state, payload); // { A: 4, B: 6 }

FAQ

Why?

Originally created to combine multiple Redux reducers that correspond to different actions (e.g. like this). Technically works with any reducer, not just with Redux, though I don't know of any other use cases.

What is the difference between reduceReducers and combineReducers?

This StackOverflow post explains it very well: https://stackoverflow.com/a/44371190/5741172

install

npm i reduce-reducers

Downloadsweekly downloads

183,945

version

0.4.3

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
Report a vulnerability