Javascript 类组件中未定义React.js状态

Javascript 类组件中未定义React.js状态,javascript,reactjs,Javascript,Reactjs,我正在使用一个没有构造函数的类组件来初始化状态。今天,我尝试创建的每个react应用程序都给了我一个错误 Line 4:3: 'state' is not defined no-undef 我的代码是 class Page extends Component { state = { pages: [] } render() { return( <div>page</div> ); } } export de

我正在使用一个没有构造函数的类组件来初始化状态。今天,我尝试创建的每个react应用程序都给了我一个错误

  Line 4:3:  'state' is not defined  no-undef

我的代码是


class Page extends Component {
  state = {
    pages: []
}

  render() {
    return(
      <div>page</div>
    );
  }
}

export default Page;

类组件应该是这样的。文件的参考链接

类页扩展组件{
建造师(道具){
超级(道具);
此.state={
页码:[]
}
}
render(){
返回(
页
);
}
}
导出默认页面;
从“React”导入React
类页扩展了React.Component{
状态={
页码:[]
}
render(){
返回(
页
);
}
}
导出默认页面;

React版本16.3.1似乎存在问题
我今天遇到了这个问题,来到了这个帖子。最后,在将我的npm react版本从16.3.1升级到16.4.0后,我的代码没有这个问题。

我将再次澄清,使用构造函数可以很好地工作,但我正在试图弄清楚为什么我首先需要这样做。just state={}应该可以工作,在我最近的react项目中可以工作,但在新的react项目中不工作。我已经用你的代码在我的机器上试过了,它仍然可以工作works@HenryLe这是使用npx create react应用程序的新react项目吗?我的代码在较旧的项目中运行良好,但是使用npx启动一个新项目时,每次使用该代码都无法为methe编译。代码看起来还可以,似乎安装有问题。尝试删除node_模块文件夹并再次运行
npm install
。如果你也可以添加完整的package.json文件就好了。我有同样的问题,当我从Git克隆我的旧CRA应用程序并安装包时,它不使用state={}构建,它也不喜欢lambda函数。看起来有些React更新比较混乱。这是传统的方法,但是语法
state=
在更新版本的React中也应该可以使用。此用户的环境存在某种问题。您当然可以使用更新的语法,但需要升级软件包版本。在我的情况下,我必须在package.json中将react脚本更新为4.0.1
"dependencies": {
    "@testing-library/jest-dom": "^5.11.9",
    "@testing-library/react": "^11.2.5",
    "@testing-library/user-event": "^12.7.2",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.3",
    "web-vitals": "^1.1.0"
class Page extends Component {
  constructor(props){
      super(props);
      this.state = {
          pages: []
      }
  }

  render() {
    return(
      <div>page</div>
    );
  }
}

export default Page;
import React from 'react'

class Page extends React.Component{
  state = {
    pages: []
  }
  render() {
    return(
      <div>page</div>
    );
  }
}

export default Page;