ReferenceError:在ReactJS Build中未定义localStorage

时间:2016-08-10 15:53:30

标签: javascript node.js reactjs

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

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

我知道这可能是因为node无法访问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 个答案:

答案 0 :(得分:3)

如果您需要在节点上运行相同的,未经修改的代码(没有本机localStorage实现),您可以考虑使用node-localstorage等填充程序。

您还可以考虑重写代码以使用其他方式存储信息。