React Redux App - 发送后的语句并不总是有效

时间:2016-11-23 12:44:43

标签: reactjs react-router react-redux

在我的反应应用中,我试图接受用户信息并构建一些本地对象,然后导航到某个网址。

const mapDispatchToProps = (dispatch) => {
  return {
    handleLogin: (userName, password) => {
      dispatch(login(userName, password)).then(
        (response) => {
          if(!response.error){ 
            dispatch(buildProfile(response.payload.data)); 
            browserHistory.push('/'); // <-- This does not work in the first call to handleLogin and always works in the second call
          }
          else{
            dispatch(loginFailed(response.payload));
          }
        });
      }
    };
  };

虽然buildProfile成功返回,但是第一次点击登录按钮时,browserHistory.push('/');行永远不会被调用。只有当我下次点击登录时,才会发生重定向。怎么可能出错?这种情况一直发生。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我的JSX中有一个空变量访问(此处未发布),在第一次调度后响应状态更新而崩溃。修好之后,这可以按照需要运行。