我使用一个教程来学习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 组件计数器。jsx行4:3:' state '没有定义no-undef搜索关键字以了解有关每个错误的更多信息。
在尝试了所有方法之后,我认为这是因为react版本(他们使用的是旧版本)。
所以我的问题是如何修复这个错误,以及在阻止我的代码工作的版本之间实际发生了什么变化。Tnx !
这是一个与react
本身无关的问题,但我相信使用create-react-app
创建的项目。在评论中讨论了正在进行的问题,并且通过简单地重用命令本身来创建一个新项目,它已经对一些人起作用了,但仍然等待维护者的评论。所以这不是你做错了什么。严寒。
我从昨天开始就一直在关注这个,甚至发了同样的推文。有些依赖关系可能搞错了。可能是eslint
或babel
插件之一。
问题的链接- https://github.com/facebook/create-react-app/issues/10598
我遇到了同样的问题。我用错了版本。下面的文档为我提供了为新版本创建新react应用程序的说明。现在我解决了这个问题。
https://create-react-app.dev/docs/getting-started/
将状态放入构造函数:
constructor(props) {
super(props);
this.state = {
count: 0,
}
由于构造函数没有初始化,您在React中分配关键字的state
,这就是为什么它会出现错误。
通过添加构造函数-
修复这样的代码constructor(props) {
super(props);
this.state = { count: 0 };
}
有关更多信息,请参阅-React类组件中的构造函数