title: stateProps value null in mergeProps
body: <p>I have a <code>mapStateToProps</code> function that fires off an async request to fetch user data from the server.  The successful result of that, fires another action which actually sets the user to the state.  All of this works fine.  What I need to do now is, after the user data is set on the state, I need to fire another action (<code>setEditUserModel</code>) using the user value that was set from <code>fetchUser</code>.</p>
  
  <p>Since <code>state</code> is not accessible in <code>mapStateToProps</code>, I've added the <code>mergeProps</code> connect option.  It's my understanding that this combines ("merges") the <code>mapStateToProps</code> and <code>mapDispatchToProps</code> together.  When I do this with the code below, <code>stateProps.user</code> in <code>mergeProps</code> is null even though the actual value when I inspect my AppState is not null.</p>
  
  <pre><code>function mapStateToProps(state: AppState): EditUserStateProps {
    return {
      user: state.user.data
    };
  }
  
  function mapDispatchToProps(dispatch: Dispatch&lt;ActionTypes&gt;): EditUserDispatchProps {
    return {
      fetchUser: (id: number) =&gt; {
        return fetchUser(id)(dispatch);
      },
      setEditUserModel: (user: User) =&gt; {
        dispatch(actionCreators.setEditUserModel(user));
      }
    }
  };
  
  function mergeProps(stateProps: EditUserStateProps, dispatchProps: EditUserDispatchProps, ownProps: EditUserContainerProps) {
    return {
      ...ownProps,
      ...stateProps,
      ...dispatchProps,
      fetchUser: (id: number) =&gt; {
        return dispatchProps.fetchUser(id).then(() =&gt; {
          dispatchProps.setEditUserModel(stateProps.user);
        });
      }
    }
  }
  </code></pre>
  
  <p>Why is my <code>stateProps.user</code> value null?</p>