Dies liegt daran, dass setState den Status ändert und ein erneutes Rendern bewirkt. Dies kann ein teurer Vorgang sein, und wenn Sie ihn synchronisieren, reagiert der Browser möglicherweise nicht mehr. Daher sind die setState-Aufrufe sowohl asynchron als auch gestapelt, um die Benutzeroberfläche und Leistung zu verbessern.
Warum ist die setState-Methode asynchron?
Um den Status einer Komponente zu aktualisieren, verwenden Sie die Methode setState. Es ist jedoch leicht zu vergessen, dass die setState-Methode asynchron ist, was das Debuggen von Problemen in Ihrem Code schwierig macht. Die Funktion setState gibt auch kein Promise zurück Die Verwendung von async/await oder etwas Ähnlichem funktioniert nicht.
Kann setState synchron gemacht werden?
Es mag seltsam klingen, aber ja setState kann synchron in der Reaktion arbeiten.
Warum gibt es eine Verzögerung bei setState?
Offizielle Erklärung. Stellen Sie sich setState() eher als Anfrage denn als unmittelbaren Befehl zum Aktualisieren der Komponente vor. Für eine besser wahrgenommene Leistung kann React es verzögern und dann mehrere Komponenten in einem einzigen Durchgang aktualisieren. React garantiert nicht, dass die Statusänderungen sofort angewendet werden.
Ist React JS synchron oder asynchron?
Erstens, ja, es ist asynchron.