Choices/src/scripts/reducers/index.js
Darren Mackintosh 92680c0dc0
Update index.js
2019-03-14 12:20:43 +00:00

31 lines
796 B
JavaScript

import { combineReducers } from 'redux';
import items from './items';
import groups from './groups';
import choices from './choices';
import general from './general';
import { cloneObject } from '../lib/utils';
const appReducer = combineReducers({
items,
groups,
choices,
general,
});
const rootReducer = (passedState, action) => {
let state = passedState;
// If we are clearing all items, groups and options we reassign
// state and then pass that state to our proper reducer. This isn't
// mutating our actual state
// See: http://stackoverflow.com/a/35641992
if (action.type === 'CLEAR_ALL') {
state = undefined;
} else if (action.type === 'RESET_TO') {
return cloneObject(action.state);
}
return appReducer(state, action);
};
export default rootReducer;