首页 > 解决方案 > TypeError:无法读取反应错误中未定义的属性“拆分”

问题描述

我是初学者,我想解码令牌但显示错误

import Cookies from 'js-cookie'

function parseJwt(token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(atob(base64).split('').map(function (c) {
    return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
return JSON.parse(jsonPayload);
};

导航栏 E:/simplecloneig/src/components/Navbar.js:20

function Navbar() {
const history = useHistory()


if(Cookies.get('access') === undefined) history.push('/login')
const token = parseJwt(Cookies.get('access'));

document.addEventListener('DOMContentLoaded', function () {
        const M = window.M;
        var elems = document.querySelectorAll('.dropdown-trigger');
        M.Dropdown.init(elems, {});
});

标签: reactjs

解决方案


这意味着令牌可能undefined如错误消息所述。

您可以做的第一件事是尝试console.log(token)看看它是否有意义。


推荐阅读