Heim >Web-Frontend >js-Tutorial >Warum zeigt „console.log' in React nicht den aktualisierten Status nach „setState()' an?
Asynchronität in der setState()-Methode von React
Die setState()-Methode von React ist im Allgemeinen asynchron, was bedeutet, dass beim Console.log der Status richtig ist Nach dem Aufruf ist es möglicherweise noch nicht aktualisiert.
Im bereitgestellten Codeausschnitt haben Sie richtig gerechnet Ermitteln Sie die Gesamtsumme und übergeben Sie sie an die setState()-Methode, um den DealersOverallTotal-Status zu aktualisieren. Allerdings protokolliert der Code unmittelbar danach this.state.dealersOverallTotal, wodurch möglicherweise der falsche Wert angezeigt wird, da der Status nicht genügend Zeit zum Aktualisieren hatte.
Um sicherzustellen, dass Sie den aktualisierten Statuswert protokollieren, platzieren Sie das Protokoll darin die Rückruffunktion setState(), die ausgeführt wird, nachdem die Statusänderung abgeschlossen ist:
this.setState({ dealersOverallTotal: total }, () => { console.log(this.state.dealersOverallTotal, 'dealersOverallTotal1'); });
Diese Änderung stellt sicher, dass die console.log-Anweisung erst ausgeführt wird, nachdem der Status aktualisiert wurde. Daher wird die korrekte Summe angezeigt.
Das obige ist der detaillierte Inhalt vonWarum zeigt „console.log' in React nicht den aktualisierten Status nach „setState()' an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!