在React中,localstorage.getItem傳回null
P粉551084295
P粉551084295 2024-04-05 14:18:19
0
1
1614

index.js:

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

const root = ReactDOM.createRoot(document.getElementById('root'));
const obj = { a: "xxx", b: "yyy" }
localStorage.setItem('obj', JSON.stringify(obj));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

客戶端.js:

let settings = JSON.parse(localStorage.getItem('obj'));
const oktaAuth = new OktaAuth({
    issuer: settings['a'],
    clientId: settings['b'],
    redirectUri: window.location.origin + '/login/callback',
    logoutUrl: window.location.origin + '/login',
    // pkce: false
});

我在App中導入客戶端,看來localStorage應該在client.js運行之前設定Item。但我的 localStrorage.getItem('obj') 為 null。有人知道為什麼嗎?

P粉551084295
P粉551084295

全部回覆(1)
P粉948258958

使用 useEffect()

import React, {useEffect} from 'react';

const App = () => {

useEffect(() => {
const obj = { a: "xxx", b: "yyy" }
localStorage.setItem('obj', JSON.stringify(obj));
},[])

return (
     
) }
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板