Redux state is undefined in mapStateToProps

You reducer doesn't have a default action in switch statement. Which is why even though you mentioned the initial state in reducer params, undefined is returned as store initial state

import React from 'react';
import {Map,fromJS} from 'immutable';

const reducer = (state = Map() ,action) => {
  switch(action.type){
    case 'SET_STATE': return state.merge(action.state);
    default:
      return state;
  }
}

export default reducer;

Adding the default statement will fix the issue :)


I ended up here too because I had failed to pass my rootreducer function to my createStore method. I had:

const store = createStore(applyMiddleware(...middlewares));

I needed:

const store = createStore(rootReducer(), applyMiddleware(...middlewares));