我在 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;
如果您需要在没有本机的节点上运行相同的、未修改的代码localStorage
实现时,您可以考虑使用垫片,例如节点本地存储 https://www.npmjs.com/package/node-localstorage.
您还可以考虑重写代码以使用存储信息的替代方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)