微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检查用户身份验证是否未定义令牌

如何解决如何检查用户身份验证是否未定义令牌

如果输入正确的密码,我可以登录用户,但是当我输入错误密码时,它显示“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。

解决方法

首先,看看this answer。一旦设法为 isUndefined 编写逻辑,就将其嵌入一个三元运算符,例如:

{ isUndefined ?
    // do these if true
    :
    // do these if false
}
,

错误是“cannot read access_token of undefined”,意思是 userToken.data 未定义。这很可能是因为密码 是错的。使用以下内容。

userToken?.data?.access_token

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。