gaearon / redux-immutable

redux-immutable is used to create an equivalent function of Redux combineReducers that works with Immutable.js state.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

redux-immutable

Travis build status NPM version Canonical Code Style

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);

About

redux-immutable is used to create an equivalent function of Redux combineReducers that works with Immutable.js state.

License:Other


Languages

Language:JavaScript 100.0%