title: react-router-redux and redux-immutable: You cannot change <Router history>; it will be ignored
body: <p>I'm trying to use react-router-redux with redux-immutable and I get an error when the <code>@@router/LOCATION_CHANGE</code> action is triggered:</p>
  
  <pre><code>action @ 14:19:07.625 @@router/LOCATION_CHANGE 
  %c prev state color: #9E9E9E; font-weight: bold Map { "repos": Map { "loading": false, "reposCount": 0 }, "users": Map { "loading": false, "usersCount": 0 }, "router": Map { "locationBeforeTransitions": null } }
  %c action color: #03A9F4; font-weight: bold { type: '@@router/LOCATION_CHANGE',
    payload: 
     { pathname: 'blank',
       search: '',
       hash: '',
       state: null,
       action: 'POP',
       key: '5b05pd',
       query: {},
       '$searchBase': { search: '', searchBase: '' } } }
  %c next state color: #4CAF50; font-weight: bold Map { "repos": Map { "loading": false, "reposCount": 0 }, "users": Map { "loading": false, "usersCount": 0 }, "router": Map { "locationBeforeTransitions": Map { "pathname": "blank", "search": "", "hash": "", "state": null, "action": "POP", "key": "5b05pd", "query": Map {}, "$searchBase": Map { "search": "", "searchBase": "" } } } }
  —— log end ——
  &lt;Provider&gt; does not support changing `store` on the fly. It is most likely that you see this error because you updated to Redux 2.x and React Redux 2.x which no longer hot reload reducers automatically. See https://github.com/reactjs/react-redux/releases/tag/v2.0.0 for the migration instructions.
  Warning: [react-router] You cannot change &lt;Router history&gt;; it will be ignored
  </code></pre>
  
  <p>I've been reading online at this issue seem to be caused by hot loader but I'm not using it.</p>
  
  <p>This is how the code looks like:</p>
  
  <h3>Routes</h3>
  
  <pre><code>const routes = (
      &lt;Route path="/" component={AppLayout}&gt;
          &lt;IndexRoute component={Home} /&gt;
          &lt;Route path="/users" component={UsersPage} /&gt;
          &lt;Route path="/repos" component={ReposPage} /&gt;
      &lt;/Route&gt;
  );
  </code></pre>
  
  <h3>Root component</h3>
  
  <pre><code>class Root extends React.Component&lt;RootComponentProps, void&gt; {
    public render() {
      const { store, history, routes } = this.props;
      return (
        &lt;Provider store={store}&gt;
          &lt;div&gt;
            &lt;Router history={history}&gt;
              {routes}
            &lt;/Router&gt;
            &lt;DevTools /&gt;
          &lt;/div&gt;
        &lt;/Provider&gt;
      );
    }
  }
  </code></pre>
  
  <h3>routerReducer</h3>
  
  <pre><code>const initialRouterReducerState = Immutable.fromJS({
      locationBeforeTransitions: null
  });
  
  let routerReducer = (state = initialRouterReducerState, action: any) =&gt; {
      if (action.type === LOCATION_CHANGE) {
          return state.merge({
              locationBeforeTransitions: action.payload
          });
      }
      return state;
  };
  </code></pre>
  
  <h3>main</h3>
  
  <pre><code>// ...
  
  let history = syncHistoryWithStore(browserHistory, store, {
      selectLocationState: (state: any) =&gt; state.get("routing").toJS()
  });
  
  render(
      &lt;Root store={store} history={history} routes={routes} /&gt;,
      document.getElementById(container)
  );
  </code></pre>
  
  <p>Do you have any ideas about what can be causing this issue?</p>