Warum ist setState in reactjs Async anstelle von Sync?
Ich habe gerade festgestellt, dass in reagierenthis.setState()
ie @ -Funktion in einer Komponente ist asynchron oder wird nach Abschluss der Funktion aufgerufen, in der sie aufgerufen wurde.
etzt habe ich diesen Blog gesucht und gefunden http: //www.bennadel.com/blog/2893-setstate-state-mutation- operation-may-be-synchronous-in-reactjs.ht)
Hier fand er dassetState
ist asynchron (wird aufgerufen, wenn der Stack leer ist) oder synchron (wird aufgerufen, sobald der Stack leer ist), je nachdem, wie die Statusänderung ausgelöst wurde.
Nun, diese beiden Dinge sind schwer zu verdauen
Im Blog dassetState
function wird innerhalb einer Funktion aufgerufenupdateState
, aber was hat das @ ausgelöupdateState
ie @ -Funktion ist nichts, was eine aufgerufene Funktion wissen würde.Warum würden sie @ machsetState
async as JS ist eine Singlethread-Sprache und dieser setState ist kein WebAPI- oder Server-Aufruf, daher muss er nur auf dem JS-Thread ausgeführt werden. Tun sie dies, damit beim erneuten Rendern nicht alle Ereignis-Listener und -Dateien angehalten werden, oder gibt es ein anderes Designproblem?