So verwenden Sie den Inkrement-Operator in React
Warum, wenn ich machethis.setState({count:this.state.count*2})
es funktioniert, aber wenn ich mache:this.setState({count:this.state.count++})
es funktioniert nicht
Warum und wie kann ich das beheben?
Voller Code:
var Hello = React.createClass({
getInitialState:function(){
return {count:parseInt(this.props.count)}
},
a:function(){
this.setState({count:this.state.count++})
console.log(this.state)
},
render: function() {
console.log(this.state)
return <div onClick={this.a}>Click to increment the counter<b> {this.state.count} </b></div>;
}
});
ReactDOM.render(
<Hello count="1" />,
document.getElementById('container')
);
Aber dieser Code funktioniert:
a:function(){
this.setState({count:this.state.count*2})
console.log(this.state)
},
JSFiddle:https: //jsfiddle.net/69z2wepo/55100