this.setState 带有 setTimeout 的第二个参数

this.setState second argument with a setTimeout

我正在尝试操纵我的组件的状态。该状态包含一个 BOOL isCoping,最初设置为 false,单击后我希望状态 isCoping 更改为 true,然后在 2 秒后我希望它更改回 true。

构造函数是

constructor(props){
        super(props);
        this.state = {
            isCoping : false
        }
    }

handleClick如下:

handleClick = (e) => {
        this.setState({isCoping : true}
        , setTimeout(()=> {this.setState({isCoping : false})}, 2000)
        )
    }

有人可以告诉我我做错了什么吗?它不工作。最初 isCoping 确实更改为 TRUE,但它不会在 2 秒后恢复为 FALSE。

因为第二个参数必须是一个函数。试试这个

handleClick = (e) => {
   this.setState(
     {isCoping : true},
     () => setTimeout(()=> {this.setState({isCoping : false})}, 2000)
   )
}