当前的React JS:'state'未定义no-undef

sai*_*101 1 javascript reactjs

我正在学习ReactJS,遇到此错误“状态”未定义no-undef您在哪里出错的帮助。我有当前的React“ react”:“ ^ 16.8.6”。我尝试添加this.state而不是: Line 1: 'Component' is defined but never used no-unused-vars Line 8: Do not mutate state directly. Use setState() react/no-direct-mutation-state

App.js

import React, { Component } from 'react';
import './App.css';
import Todos from './Components/Todos';



function App() {
  state = {
    todos:[
      {
        id:1,
        title: "Study File Structure",
        completed:false
      },
      {
        id:2,
        title: "Create Component",
        completed:false
      },
      {
        id:3,
        title: "Study State",
        completed:false
      }
    ]
  }

  return ( 
    <div className="App">

      <h1>Hello</h1>
      <Todos/>
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

mw5*_*509 7

你可以简单地使用 React 钩子。附加statewithReact所以你有React.state

import React, { Component } from 'react';
import './App.css';
import Todos from './Components/Todos';



function App() {
  React.state = {
    todos:[
      {
        id:1,
        title: "Study File Structure",
        completed:false
      },
      {
        id:2,
        title: "Create Component",
        completed:false
      },
      {
        id:3,
        title: "Study State",
        completed:false
      }
    ]
  }

  return ( 
    <div className="App">

      <h1>Hello</h1>
      <Todos/>
    </div>
  );
}

export default App;
Run Code Online (Sandbox Code Playgroud)

现在,当您需要从状态调用任何内容时,类会使用,this.state.todos但在您的情况下,请使用React.state.todos

如果这有帮助,请告诉我。:)


Ted*_*Ted 5

替换function App() {class App extends Component{。这将使您朝正确的方向前进,并将返回值包装在render方法中,如下所示:

class App extends Component{
  state = {
    todos:[
      {
        id:1,
        title: "Study File Structure",
        completed:false
      },
      {
        id:2,
        title: "Create Component",
        completed:false
      },
      {
        id:3,
        title: "Study State",
        completed:false
      }
    ]
  }

  render(){
    return ( 
      <div className="App">

        <h1>Hello</h1>
        <Todos/>
      </div>
    );
  }
}

export default App;
Run Code Online (Sandbox Code Playgroud)