Redux framework is using reducers to change app state in response to an action.
The key requirement is that a reducer cannot modify an existing state object; it must
Take a look at https://github.com/indexiatech/redux-immutablejs
It's pretty much a combineReducer and an optional createReducer that conforms with Redux standards.
combineReducer
createReducer