【发布时间】:2021-07-05 08:13:49
【问题描述】:
Cannot read property 'token' of undefined Screenshot Attached
// Auth Service.js
const login = (username, password) => {
return axios
.post(API_URL + "signin", {
username,
password,
})
.then((response) => {
if (response.data && response.data.data && response.data.data.token) {
localStorage.setItem("user", JSON.stringify(response.data));
}
return response.data;
})
.catch((err) => {
console.log("An error occured: ", err);
});
};
如果凭据不正确,我会收到此错误,如果登录详细信息正确,它可以正常工作,而且我想显示电子邮件或密码是否错误我想获取 API 服务器响应消息并显示响应消息下面的登录按钮。有人请帮助我
// Auth.js
export const login = (username, password) => (dispatch) => {
return AuthService.login(username, password).then(
(data) => {
dispatch({
type: LOGIN_SUCCESS,
payload: { user: data },
});
return Promise.resolve();
},
(error) => {
const message =
(error.response &&
error.response.data &&
error.response.data.message) ||
error.message ||
error.toString();
dispatch({
type: LOGIN_FAIL,
});
dispatch({
type: SET_MESSAGE,
payload: message,
});
return Promise.reject();
}
);
};
// Login.js
const handleLogin = (e) => {
e.preventDefault();
setLoading(true);
form.current.validateAll();
if (checkBtn.current.context._errors.length === 0) {
dispatch(login(username, password))
.then(() => {
props.history.push("/home");
window.location.reload();
})
.catch(() => {
setLoading(false);
});
} else {
setLoading(false);
}
};
if (isLoggedIn) {
return <Redirect to="/home" />;
}
【问题讨论】:
标签: javascript reactjs jwt