我在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;
答案 0 :(得分:3)
如果您需要在节点上运行相同的,未经修改的代码(没有本机localStorage
实现),您可以考虑使用node-localstorage等填充程序。
您还可以考虑重写代码以使用其他方式存储信息。