Package Exports
- redux-immutable
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 (redux-immutable) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
redux-immutable
redux-immutable
is used to create an equivalent function of Redux combineReducers
that works with Immutable.js state.
When Redux createStore
reducer
is created using redux-immutable
then initialState
must be an instance of Immutable.Iterable
.
Problem
When createStore
is invoked with initialState
that is an instance of Immutable.Iterable
further invocation of reducer will produce an error:
The initialState argument passed to createStore has unexpected type of "Object". Expected argument to be an object with the following keys: "data"
This is because Redux combineReducers
treats state
object as a plain JavaScript object.
combineReducers
created using redux-immutable
uses Immutable.js API to iterate the state.
Usage
Create a store with initialState
set to an instance of Immutable.Iterable
:
import {
combineReducers
} from 'redux-immutable';
import {
createStore
} from 'redux';
let initialState,
rootReducer,
store;
initialState = Immutable.Map();
rootReducer = combineReducers({});
store = createStore(rootReducer, initialState);