Reactjs 无法更改状态

Reactjs 无法更改状态,reactjs,Reactjs,预期行为:应用程序应首先显示John,然后我将状态(名称)更改为George(设置超时),以便显示。但状态似乎没有改变。有什么想法吗 import React, { Component } from 'react'; class App extends Component { constructor(props){ super(props); this.state={name:"John"}; } render() { setTimeout(() =&

预期行为:应用程序应首先显示John,然后我将状态(名称)更改为George(设置超时),以便显示。但状态似乎没有改变。有什么想法吗

import React, { Component } from 'react';


class App extends Component {
  constructor(props){
    super(props);

    this.state={name:"John"};
  }

  render() {
    setTimeout(() => {
      this.setState=({name:"George"})
    }, 2000)

    return (
        <div>
        {this.state.name}

        </div>
    );
  }
}

export default App;
import React,{Component}来自'React';
类应用程序扩展组件{
建造师(道具){
超级(道具);
this.state={name:“John”};
}
render(){
设置超时(()=>{
this.setState=({name:“George”})
}, 2000)
返回(
{this.state.name}
);
}
}
导出默认应用程序;

在注释中,您找到了使代码正常工作的方法。但是我想在这里添加一个答案,告诉您在render()函数中更改组件的状态不是一个好主意

当您的状态更改时,将调用render()函数,该函数将调用setTimeout,它将再次更改状态。。。因此,您将进入渲染组件的无限循环


在这期间,正确的方法是让您在组件的
componentDidMount()
函数中设置超时。

this.setState=({name:'George})
应该是
this.setState({name:'George})
哦,这太尴尬了。谢谢。