recherche

Maison  >  Questions et réponses  >  le corps du texte

Dans React, localstorage.getItem renvoie null

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粉551084295P粉551084295230 Il y a quelques jours1615

répondre à tous(1)je répondrai

  • P粉948258958

    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 (
         
    ) }

    répondre
    0
  • Annulerrépondre