我试图调整我在github上为我的项目找到的reactjs + passportjs实现。原始项目在我的计算机上运行正常,但是当任何页面调用localStorage.getItem()时,计算机都会抛出错误。我觉得这很奇怪,因为第一次从github运行原始项目时,这个错误也不应该被抛出?无论如何,这是现在给我问题的文件:
class Auth {
/**
* Authenticate a user. Save a token string in Local Storage
*
* @param {string} token
*/
static authenticateUser(token) {
localStorage.setItem('token', token);
}
/**
* Check if a user is authenticated - check if a token is saved in Local Storage
*
* @returns {boolean}
*/
static isUserAuthenticated() {
return localStorage.getItem('token') !== null;
}
/**
* Deauthenticate a user. Remove a token from Local Storage.
*
*/
static deauthenticateUser() {
localStorage.removeItem('token');
}
/**
* Get a token value.
*
* @returns {string}
*/
static getToken() {
return localStorage.getItem('token');
}
}
export default Auth;
我会假设当我调用isUserAuthenticated()而没有设置任何其他内容时会发现null
,因为那里没有令牌,然后就会返回false ,但它却抛出了这个错误:
ReferenceError: localStorage is not defined
绝对欢迎您提供任何帮助。谢谢!
您可以找到原始示例here。