Ich bin ratlos, meine Reaktion App nicht inkrementiert einen Zähler wie beabsichtigt, statt 1,2,3,4,5 gehen, geht es 1,11,111,1111, 11111 ... Mein Verständnis ist, dass Sie this.state.count ++ nicht tun können, da das den Status ändert, den facebook sagt, nicht zu tun, und sie sagen, dies zu tun.state.count + 1. Ich bin ziemlich neu zu Reagieren und zu schätzen jede Hilfe, die Sie anbieten können! Vielen Dank!Reaktion Zähler nicht inkrementieren, sondern 1 stattdessen
import React, { Component } from 'react';
import './App.css';
class App extends Component {
constructor(){
super();
this.state = {
count: '0',
}
this.incrementCount = this.incrementCount.bind(this);
}
incrementCount() {
this.setState({
count: this.state.count + 1
});
}
render() {
return (
<div className='app'>
<div className='container'>
<button onClick={this.incrementCount}>Click to increase bid:
{this.state.count}</button>
</div>
</div>
);
}
}
export default App;
Weil Sie 'count' als String deklariert haben ... Do 'count: 0,' – rpadovani
Um @rpadovanis Kommentar hinzuzufügen, welches die richtige Antwort ist, sollten Sie prevState Callback Approach von setState verwenden, wenn Sie das aktualisieren möchten Aktueller Status basierend auf dem vorherigen Wert. Siehe diese Antwort https://stackoverflow.com/questions/44492678/when-does-reacts-setstate-change-the-state/44493095#44493095, da dies andernfalls zu unerwarteten Ergebnissen führen kann, wenn Sie incrementCount berücksichtigen viel schneller als die App ist in der Lage zu aktualisieren –
Interessant, in Ordnung, ich habe diese Änderung auch, danke! – cgraffeo