【发布时间】:2020-11-14 21:49:54
【问题描述】:
我对反应还很陌生,但我想我已经开始掌握它的窍门了,就像我认为我遇到了一个我似乎无法弄清楚的问题一样。登录应用程序时,我得到了这个。
Unhandled Rejection (TypeError): Cannot read property 'data' of undefined
(anonymous function)
src/actions/auth.js:105
102 | dispatch(push("/app"));
103 | })
104 | .catch((err) => {
> 105 | dispatch(authError(err.response.data));
| ^ 106 | });
107 | } else {
108 | dispatch(authError("Something was wrong. Try again"));
有问题的代码如下。
export function authError(payload) {
return {
type: AUTH_FAILURE,
payload,
};
}
export function loginUser(creds) {
return (dispatch) => {
if (creds.email.length > 0 && creds.password.length > 0) {
axios
.post("/auth/login", creds)
.then((res) => {
const payload = res.data;
dispatch(receiveToken(payload));
dispatch(doInit());
dispatch(push("/app"));
})
.catch((err) => {
dispatch(authError(err.response.data));
});
} else {
dispatch(authError("Something was wrong. Try again"));
}
};
}
问题是服务器响应 "POST /api/auth/login HTTP/1.1" 200 286
所以在这一点上,看起来服务器正在获得正确的信誉,我不知道该怎么办。我正在输入以前有效的正确凭据,无论是否确实发生了错误,它都没有正确捕获它。任何帮助将不胜感激。谢谢
【问题讨论】:
-
您的错误是告诉您“err”没有“response”属性。你为什么不试试 console.logging “err” 看看它有什么?这可能是一个重要的线索。
-
我点击链接并尝试了它,仍然没有。我至少得到了 else 语句来抛出一些错误而不是仅仅打破但我直到不知道是什么导致了错误。 autherror() 被触发,但服务器响应 200 代码。
标签: javascript reactjs redux react-redux