【问题标题】:React can not get value of global variableReact 无法获取全局变量的值
【发布时间】:2020-12-03 18:56:24
【问题描述】:

我正在学习 React,但我不明白如何制作像全局应用程序状态这样的东西。 我制作了一个 window.appState 变量,但我无法在组件中获取 appState。它给我一个错误 appState 是未定义的。 appState 初始化如下:

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

    .....

}

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

【问题讨论】:

    标签: reactjs components global-variables


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多