2016-08-10 64 views
3

我在我的身份驗證組件上使用localStorage很多,以便從本地存儲獲取用戶詳細信息以及在登錄時存儲它們。ReferenceError:localStorage沒有在ReactJS 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; 

回答

1

如果你需要運行節點一樣的,未經修改的代碼,不具有天然localStorage實現,你可以如node-localstorage考慮使用墊片。

您也可以考慮重寫您的代碼以使用替代方式來存儲信息。