簡體   English   中英

使用React.js在一定時間后更改狀態

[英]State change after a certain amount of time with React.js

我有一個在false和true之間切換的某個變量作為一個狀態(我們可以稱之為提交)。 我想做的是在幾秒鍾之后將狀態更改設置為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。 我該怎么做呢?

您可以設置超時以在給定時間后重置狀態。 請記住, 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
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM