Maison > Questions et réponses > le corps du texte
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> );
client.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 });
J'ai importé le client dans l'application et il semble que localStorage devrait définir l'élément avant l'exécution de client.js. Mais mon localStrorage.getItem('obj') est nul. Quelqu'un sait-il pourquoi?
P粉9482589582024-04-06 11:16:28
Utilisez useEffect()
import React, {useEffect} from 'react'; const App = () => { useEffect(() => { const obj = { a: "xxx", b: "yyy" } localStorage.setItem('obj', JSON.stringify(obj)); },[]) return ( ) }