在我的应用中,注册用户后,进入用户页面时,出现错误:
InvalidTokenError:指定的令牌无效:无法读取未定义的属性“替换”
特别是由于jwt-decode
:
import React, { Component } from 'react'
import jwt_decode from 'jwt-decode'
class Profile extends Component {
constructor(props) {
super(props)
this.state = {
name: '',
email: '',
errors: {},
}
}
componentDidMount() {
const token = localStorage.usertoken
const decoded = jwt_decode(token)
this.setState({
name: decoded.name,
email: decoded.email
})
}
我会提出一个关于存储的小建议。如果键作为参数传递给
getItem()
接口方法Storage
,则该方法将返回指定键存储在存储中的值。DOMString
返回值是一个包含对应键值的字符串。如果键不存在,则返回值null
。当然,这不是错误,因为
Storage
放置的键的值是作为对象的属性存储的,你通过名称获取你的值。让我们留下建议和建议,继续处理收到的错误:
躺在包里
jwt-decode
。您可以在 git 中找到以下内容:JWT InvalidTokenError: Invalid token specified评论中有关于如何避免此类错误的提示。在您的情况下,您需要执行此操作(添加检查该值是否存在):唉,但是从消息来源来看,存在这样的问题并且在于以下模块:base64_url_decode.js,从主模块(index.js)调用