我正在使用 redux 工具包并进行 API 调用。但是我收到错误: 未捕获(承诺)类型错误:无法读取未定义的属性“状态” 在 SignUpForm.otpEmailCallBack (signUp.jsx:215) 在 api.js:50
otpEmailCallBack = (res) => {
if (res.status === 200) {
toast(<AlertSuccess message={res.data.otp} />);
this.props.updateStep(null, 4);
this.props.updateVerifyEmail({
otp: res.data.otp,
email: this.state.data.email,
code: res.data.code,
});
} else {
toast(<AlertError message={res.data.error} />);
}
};
感谢任何帮助。
答案 0 :(得分:0)
您没有将 res 从 api 传递到 otpEmailCallback
这就是为什么它在被调用时将值接收为 undefined 的原因。要处理该问题,您可以在将响应作为回调传递给 sendEmailOtp
函数
emailCallback = (res) => {
if (res.status === 200) {
const emailParams = {
email: this.state.data.email
};
this.props.sendEmailOtp(emailParams, this.otpEmailCallBack.bind(this, res));
} else {
this.setState({
loader: false,
btnClass: "btn btn-lg btn-primary btn-block",
});
toast( < AlertError message = {
res.data.error
}
/>);
}
};