increment: function() {
this.setState({
counter: this.state.counter + 1
});
console.log(this.state.counter)
},
decrement: function(){
this.setState({
counter: this.state.counter - 1
});
console.log(this.state.counter)
},
calFun: functin(){
this.state.counter * 5; // incorrect
}
render: function() {
return <div>
<div id='counter'>{this.state.counter}</div>
<button onClick = {this.increment}> +1 </button>
<button onClick = {this.decrement}> -1 </button>
</div>
}
{this.state.counter}
輸出數字顯示正常,但是,console.log
總是計數one more
例如,如果我點擊increment
兩次,控制檯顯示0
和1
,然後我點擊decrement
控制檯顯示2
,1
這引起我的程序運行不正確。我所期待的1
,2
,然後1
,0
反應增量遞減計數問題
如何有real-time
正確的遞增/遞減計數?
UPDATE:
搜索了一會兒我改變了下面,現在它工作得很好,快速後,componentWillUpdate()
使得update
有點慢
this.setState({
counter: ++this.state.counter
});
this.setState({
counter: --this.state.counter
});