React 无法获取全局变量的值

React can not get value of global variable

我正在学习 React,但我不明白如何制作全局应用程序状态之类的东西。 我做了一个 window.appState 变量,但我无法在组件中获取 appState。它抛出一个错误 appState is undefined。 appState initilization 看起来像:

import React from 'react';
import ReactDOM from 'react-dom';
import './assets/index.scss';
import App from './App';
import {
    BrowserRouter as Router
} from "react-router-dom";


let appState = {
    accessToken: ''
}

ReactDOM.render(
  <React.StrictMode>
    <Router>
        <App />
    </Router>
  </React.StrictMode>,
  document.getElementById('root')
);

如果我尝试访问组件中的 appState,它是未定义的。

class Home extends React.Component
{
    constructor(props)
    {
        super(props)

        // window.appState is undefined???
        if( ! window.appState.accessToken ) this.props.history.push('/login')
    }

    .....

}

我做错了什么?非常感谢。

设置let appState = {} 将其设置在文件范围内。如果你想在 window 上设置它以便它是全局的,你可以改为 window.appState = {}.