create-redux-routines
Version:
To create actions and reducers in one go
18 lines (17 loc) • 432 B
JavaScript
export default function flatCombineReducers(
reducers,
{ resetActionType, initialState = {} }
) {
return (prevState, action) => {
if (action.type == resetActionType) {
return initialState;
}
return reducers.reduce((state, reducer) => {
const newState = {
...prevState,
...reducer(Object.keys(state).length ? state : prevState, action)
};
return newState;
}, {});
};
}