ReferenceError: localStorage 未在 ReactJS Build 中定义

IT技术 javascript node.js reactjs
2021-05-27 12:28:10

我在我的 React 应用程序中的经过身份验证的组件上使用 localStorage 很多,以从本地存储获取用户详细信息以及在登录时存储它们。

当我构建我的应用程序时,它抛出ReferenceError: localStorage is not defined.

我知道这可能是因为节点无权访问 localStorage 从而导致错误。

我该如何解决问题?

这是我在组件中使用的代码示例。

import React, {PropTypes} from 'react';
import AccountBasicInfo from '../components/AccountBasicInfo';


export class Account extends React.Component {


    userBasicInfo(){
      const user = localStorage.getItem('User') ? JSON.parse(localStorage.getItem('User')) :{};
      const cashback = localStorage.getItem('cashback') ? JSON.parse(localStorage.getItem('cashback')) :{};
    }
    render(){
      return(
          <div>
              <AccountBasicInfo theme="theme2" item={this.userBasicInfo.bind(this)()}/>
          </div>
      );
    }
}



export default Account;
1个回答

如果您需要在没有本机localStorage实现的节点上运行相同的、未修改的代码,您可以考虑使用诸如node-localstorage 之类的垫片

您还可以考虑重写代码以使用另一种存储信息的方式。