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)
)
}
我正在尝试操纵我的组件的状态。该状态包含一个 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)
)
}