suchen

Heim  >  Fragen und Antworten  >  Hauptteil

In React gibt localstorage.getItem null zurück

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

Ich habe den Client in die App importiert und es scheint, dass localStorage das Element festlegen sollte, bevor client.js ausgeführt wird. Aber mein localStrorage.getItem('obj') ist null. Weiß jemand warum?

P粉551084295P粉551084295300 Tage vor1737

Antworte allen(1)Ich werde antworten

  • P粉948258958

    P粉9482589582024-04-06 11:16:28

    使用 useEffect()

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

    Antwort
    0
  • StornierenAntwort