我目前正在嘗試保存我的sessionStorage之前呈現發生。Initiliaze&在React中使用sessionStorage?
我的代碼是這樣的:
componentWillMount() {
sessionStorage.setItem("isUserLogged", false);
}
它導致沒有定義sessionStorage
錯誤。在渲染髮生之前,我如何在React中初始化我的sessionStorage
?
我目前正在嘗試保存我的sessionStorage之前呈現發生。Initiliaze&在React中使用sessionStorage?
我的代碼是這樣的:
componentWillMount() {
sessionStorage.setItem("isUserLogged", false);
}
它導致沒有定義sessionStorage
錯誤。在渲染髮生之前,我如何在React中初始化我的sessionStorage
?
使用服務器端渲染時,SessionStorage不可用(可以對其進行模擬,但數據不會提供給用戶)。
它僅在瀏覽器中的可用文字的存儲https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
例
window.sessionStorage.setItem("key", "value");
從存儲使用檢索項
window.sessionStorage.getItem("key");
這是一個老問題,但您能否指出sessionStorage將在組件安裝時起作用。這是'sessionStorage'將被定義的時刻。 –
答案是正確的,它只能在客戶端使用。然而,要正確回答上述問題,IMO的答案應該表明你可以在componentDidMount中利用這個...在React組件完全在客戶端之後發生。您要使用的模式將使用默認設置初始化狀態變量,然後在安裝組件後使用會話信息更新它。 – engineerDave
嘗試window.sessionStorage.setItem( 「鑰匙」,「值」); –
@Kartik_Agarwal剛剛嘗試過,它現在顯示'窗口'沒有定義 –
您正在使用服務器端的回傳或客戶端? –