Javascript 使用React.js经过一定时间后状态会发生变化

Javascript 使用React.js经过一定时间后状态会发生变化,javascript,reactjs,Javascript,Reactjs,我有一个变量,它作为一个状态在false和true之间切换(我们可以称之为submitted)。我想做的是在几秒钟后将状态设置为true后将其更改回false。我该怎么做 我有一个函数,当单击按钮时调用该函数,其中状态发生变化: saveAndContinue: function(e) { e.preventDefault() if(this.state.submitted==false) { email = this.refs.email.getDOMNode

我有一个变量,它作为一个状态在false和true之间切换(我们可以称之为submitted)。我想做的是在几秒钟后将状态设置为true后将其更改回false。我该怎么做

我有一个函数,当单击按钮时调用该函数,其中状态发生变化:

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。我该怎么做

您可以设置超时,以在给定时间后重置状态。请记住将(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
   }
}