Package Exports
- reduce-reducers
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (reduce-reducers) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
reduce-reducers
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(initialState, addReducer, multReducer);
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