使用React.js一段时间后状态改变
State change after a certain amount of time with React.js
我有一个在false和true之间切换的变量作为状态(我们可以称之为submitted)。我想做的是让状态在被设置为真之后,在几秒钟后变回假。我该怎么做呢?
我有这样一个函数,当按钮被点击时调用,当状态改变时:
saveAndContinue: function(e) {
e.preventDefault()
if(this.state.submitted==false) {
email = this.refs.email.getDOMNode().value
this.setState({email: email})
this.setState({submitted: !this.state.submitted});
}
}
我想添加到这一点,我有一个计时器设置变量提交回false。我该怎么做呢?
您可以设置一个超时,以便在给定的时间后重置状态。记住将bind(this)
转到超时函数,使this
指向正确的this
saveAndContinue: function(e) {
e.preventDefault()
if(this.state.submitted==false) {
email = this.refs.email.getDOMNode().value
this.setState({email: email})
this.setState({submitted: !this.state.submitted});
setTimeout(function(){
this.setState({submitted:false});
}.bind(this),5000); // wait 5 seconds, then reset to false
}
}
相关文章:
- 当使用$state时,ui-router中的双状态改变.进入$stateChangeStart
- React组件在状态改变后不重新呈现
- AngularJS ui-router,滚动到状态改变的下一步
- 当父组件状态改变时,如何强制子组件重新呈现
- 在一个选项卡的状态改变后,Onsen选项卡没有正确更新
- 在处理之前,AngularJS的ui-router状态改变事件是否可以被捕获?
- 在redux状态改变后处理不纯的DOM操作
- React:在状态改变后获取initialstate
- 承诺数据在路由状态改变时不呈现
- 当ui-router状态改变时,清除AngularJS共享控制器变量
- 如何用history.js捕获一次状态改变事件
- 用UI-Router防止返回按钮上的状态改变
- $ionicPopup在后台状态改变时中断
- React JS -当localStorage状态改变时,获得一个单独的组件来重新渲染
- 当状态改变时,组件无法重新呈现
- React状态改变不是渲染
- AngularJS监听状态改变事件
- componentWillReceiveProps在状态改变时被调用
- Angular UI Router:在状态改变时保持同级视图
- 使用React.js一段时间后状态改变