Node.js 在jwt验证后,状态更改不存在
因此,在前端,我使用此函数让用户登录,如果他们有一个api链接,则此函数仅在登录时起作用,如果用户只是导航到站点上的其他页面,则会将userData状态的值重置为未定义的api链接“http://localhost:5000/users/isTokenValid“返回true或falseNode.js 在jwt验证后,状态更改不存在,node.js,reactjs,mongodb,express,Node.js,Reactjs,Mongodb,Express,因此,在前端,我使用此函数让用户登录,如果他们有一个api链接,则此函数仅在登录时起作用,如果用户只是导航到站点上的其他页面,则会将userData状态的值重置为未定义的api链接“http://localhost:5000/users/isTokenValid“返回true或false const [adminData, setAdminData] = useState({ token: undefined, user: undefined, });
const [adminData, setAdminData] = useState({
token: undefined,
user: undefined,
});
const [authData, setAuthData] = useState(undefined);
const [userData, setUserData] = useState({
token: undefined,
user: undefined,
});
useEffect(() => {
const checkLoggedIn = async () => {
let token = localStorage.getItem('auth-token');
if (token === null) {
localStorage.setItem('auth-token', '');
token = '';
}
const tokenRes = await axios.post(
'http://localhost:5000/users/isTokenValid',
null,
{ headers: { 'x-auth-token': token } },
);
if (tokenRes.data) {
const userRes = axios.get('http://localhost:5000/users/', {
headers: { 'x-auth-token': token },
});
setUserData({
token,
user: userRes.data,
});
}
};
checkLoggedIn();
}, []);
返回(
);
很抱歉我看到了一个愚蠢的问题,我没有添加等待
const userRes = await axios.get('http://localhost:5000/users/', {
headers: { 'x-auth-token': token },
});
setUserData({
token,
user: userRes.data,
});
}```
对不起,我看到了一个愚蠢的问题,我没有添加等待
const userRes = await axios.get('http://localhost:5000/users/', {
headers: { 'x-auth-token': token },
});
setUserData({
token,
user: userRes.data,
});
}```