ReferenceError:localStorage没有在ReactJS Build中定义
我在我的应用程序中使用localStorage对我的身份validation组件进行了很多操作,以从本地存储获取用户详细信息,并将其存储在login名中。
当我build立我的应用程序,它会引发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
实现),则可以考虑使用shim(如node-localstorage) 。
你也可以考虑重写你的代码来使用另一种存储信息的方式。