为什么localStorage没有定义?

时间:2017-11-30 16:15:32

标签: javascript reactjs local-storage passport.js

我试图调整我在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

0 个答案:

没有答案