Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在尝试从mapDispatchToProps发送的操作创建者返回承诺_Javascript_Reactjs_Redux_Promise - Fatal编程技术网

Javascript 正在尝试从mapDispatchToProps发送的操作创建者返回承诺

Javascript 正在尝试从mapDispatchToProps发送的操作创建者返回承诺,javascript,reactjs,redux,promise,Javascript,Reactjs,Redux,Promise,我有一个这样的动作创造者 export const register = user => { return dispatch => { dispatch(requestRegistation()); return new Promise((resolve, reject) => { Axios.post(make_url('/users'), { user: user }).then(response => { if (re

我有一个这样的动作创造者

export const register = user => {
  return dispatch => {
    dispatch(requestRegistation());
    return new Promise((resolve, reject) => {
      Axios.post(make_url('/users'), { user: user }).then(response => {
        if (response.data.errors) {
          reject(response.data.errors);
        }
        if (response.data.user) {
          resolve(response.data.user);
        }
      });
    });
  };
};
handleSubmit: (values, props) => {
  props.props.register(values).then(
    response => {
      console.debug('response', response);
    },
    errors => {
      console.debug('errors', error);
    },
  );
}
const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    register: user => {
      dispatch(register(user));
    },
  };
};
我有一张这样的表格

export const register = user => {
  return dispatch => {
    dispatch(requestRegistation());
    return new Promise((resolve, reject) => {
      Axios.post(make_url('/users'), { user: user }).then(response => {
        if (response.data.errors) {
          reject(response.data.errors);
        }
        if (response.data.user) {
          resolve(response.data.user);
        }
      });
    });
  };
};
handleSubmit: (values, props) => {
  props.props.register(values).then(
    response => {
      console.debug('response', response);
    },
    errors => {
      console.debug('errors', error);
    },
  );
}
const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    register: user => {
      dispatch(register(user));
    },
  };
};
在我看来,我似乎没有兑现承诺

signup.js:186 Uncaught (in promise) TypeError: Cannot read property 'then' of undefined
signup.js:186相对于
props.props.register(值)。然后(


我感觉自己很接近,但我不确定我在这里缺少了什么?

您没有从
mapDispatchToProps
中的
register
函数返回承诺。您可以删除函数体以使返回隐式,或者添加
return
语句

const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    register: user => dispatch(register(user)),
  };
};

尝试从props函数中删除函数体
{}
register:user=>dispatch(register(user))
以使其隐式返回承诺。您现在不会从该函数返回任何内容。请看,太棒了!谢谢!就是这样。@Tholle