繁体   English   中英

'state' 未定义 no-undef

[英]‘state’ is not defined no-undef

我使用教程来学习 React,但我很快就陷入了困境。 在本教程中,他们使用以下代码:

import React, { Component } from "react";

class Counter extends Component {
  state = {
    count: 0,
  };

  render() {
    return (
      <React.Fragment>
        <span>{this.state.count}</span>

        <button>Increment</button>
      </React.Fragment>
    );
  }
}

export default Counter;

一切都很好。

但就我而言,我收到此错误:

src\components\counter.jsx 第 4:3 行:'state' is not defined no-undef 搜索关键字以了解有关每个错误的更多信息。

在尝试了一切之后,我认为这是因为 react 版本(他们使用的是旧版本)。

所以我的问题是如何修复这个错误,以及阻止我的代码工作的版本之间的实际变化。 天呐!

这是一个与react本身无关的问题,但我相信使用create-react-app项目。 正在进行的问题在评论中进行了讨论,并且通过简单地重新使用命令本身来创建一个新项目,它已经对某些人有用,但仍然等待维护者的评论。 所以这不是你做错了什么。 寒意。

我从昨天开始就一直在跟踪这个,甚至发了同样的推文。 一些依赖关系可能已经搞砸了。 可能eslintbabel插件之一。

问题的链接 - https://github.com/facebook/create-react-app/issues/10598

我遇到了同样的问题。 我使用了错误的版本。 下面的文档为我提供了为新版本创建新反应应用程序的说明。 现在我解决了这个问题。

https://create-react-app.dev/docs/getting-started/

将 state 放入构造函数中:

  constructor(props) {
    super(props);
    this.state = {
       count: 0,
  
  }

由于构造函数未初始化, state您在 React 中分配了一个关键字,这就是它作为错误出现的原因。

通过添加构造函数来修复这样的代码 -

constructor(props) {
   super(props);
   this.state = { count: 0 };
}

有关更多信息,请参阅 - React Class 组件中的 Counstructor

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM