Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在jwt验证后,状态更改不存在_Node.js_Reactjs_Mongodb_Express - Fatal编程技术网

Node.js 在jwt验证后,状态更改不存在

Node.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, });

因此,在前端,我使用此函数让用户登录,如果他们有一个api链接,则此函数仅在登录时起作用,如果用户只是导航到站点上的其他页面,则会将userData状态的值重置为未定义的api链接“http://localhost:5000/users/isTokenValid“返回true或false

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,
                });
            }```