如果输入正确的密码,我可以登录用户,但是当我输入错误的密码时,它显示“access_token”未定义。
这是我的 useToken.js 文件
KNN
这是在我的 Login.js 文件中处理这个提交
import { useState } from "react";
export default function useToken() {
const getToken = () => {
const tokenString = sessionStorage.getItem("access_token");
const userToken = JSON.parse(tokenString);
return userToken?.access_token;
};
const [token, setToken] = useState(getToken());
const saveToken = userToken => {
sessionStorage.setItem('access_token', JSON.stringify(userToken.data));
setToken(userToken.data.access_token);
};
return {
setToken: saveToken,
token
}
}
最后在我的 App.js 文件中,我通过以下方式显示登录页面:
const handleSubmit = async e => {
e.preventDefault();
const token = await loginUser({
email,
password
});
setToken(token);
}
如果他们输入错误的密码或用户名重定向到登录页面,我如何检查 undefined。
答案 0 :(得分:0)
首先,看看this answer。一旦设法为 isUndefined 编写逻辑,就将其嵌入一个三元运算符,例如:
{ isUndefined ?
// do these if true
:
// do these if false
}
答案 1 :(得分:0)
错误是“cannot read access_token of undefined”,意思是 userToken.data 未定义。这很可能是因为密码 是错的。使用以下内容。
userToken?.data?.access_token