Staat ist ein entscheidendes Konzept und Reaktion, und deshalb ist es mir wichtig, dass Sie verstehen, wie es
funktioniert.
U. S. Status ist, wie Sie Status- und Funktionskomponenten verwalten, und Ihr Status kann alles sein.
Es muss kein Array sein.
Es könnte ein Text sein, eine Zahl, ein Objekt, ein Array, ein Boolescher Wert, so etwas.
Use state gibt immer ein Array mit zwei Elementen zurück.
Unabhängig von Ihrem Status gibt ein Status ohne Verwendung immer noch ein Array mit genau zwei Elementen
zurück.
Denn das erste Element ist dann immer Ihr aktueller Status-Snapshot.
Das zweite Element ist eine Funktion, mit der Sie diesen Status-Snapshot aktualisieren können, wenn Sie den
Status-Snapshot aktualisieren.
React wird zwei Dinge tun.
Diese intern gespeicherten Statusdaten werden aktualisiert.
Wenn wir zum Beispiel hier unser erstes neues Ziel hinzufügen, wird es den Ausgangszustand durch unseren brandneuen
Zustand ersetzen.
In diesem Fall mit dem brandneuen Array, das wir mit Concat erstellt haben.
Sobald die Daten intern aktualisiert wurden, wird diese Komponentenfunktion erneut aufgerufen und die gesamte
Funktion ausgeführt.
Und daher haben alle dieses J als X-Code wiedergegeben.
Jetzt unter der Haube wird nicht der gesamte Dom neu gerendert.
Es wird nur geprüft, welche Teile des DOM aktualisiert werden müssen, aber die gesamte Komponente wird neu bewertet.
Dies bedeutet natürlich auch, dass der Verwendungsstatus erneut ausgeführt wird, der Verwendungsstatus jedoch intern so funktioniert, dass ein
stabiler Zustand nur initialisiert wird, wenn die Komponente zum ersten Mal gerendert wird und anschließend Rehren
recycelt wird.
Es wird nur der Snapshot des neuesten Status abgerufen und der hier festgelegte Anfangswert ignoriert.
So funktioniert ein Staat.
Nun ist es wichtig zu verstehen, dass diese Art der Aktualisierung unseres Nachlasses in diesem Szenario nicht
die bestmögliche ist.
Also dupliziert und auskommentiert.
Also hatten wir es immer noch als Referenz.
Wir sehen aber auch den besseren Ansatz.
Dieser Ansatz funktioniert eindeutig.
Und in den meisten Fällen wird es funktionieren.
Aber Sie müssen sich bewusst sein, dass diese gesamte Statusaktualisierung einen Teil der Reaktion wiedergibt.
Wird das Ende nicht durch Reagieren bewältigt?
Und wenn Sie ein Asset erstellen und angeben, dass nicht alles angehalten wird, wird Ihre App sofort erneut aufgerufen.
Stattdessen werden Zeitpläne für die Statusaktualisierung erstellt.
Und wenn Sie eine Anwendung mit vielen laufenden Statusaktualisierungen haben und viel Arbeit ausgeführt wird, was
nicht der Fall ist und die Anwendung ausführt, aber der Fall sein kann, und andere Anwendungen, wird
Ihre Statusaktualisierung möglicherweise um einige Millisekunden verschoben.
Das bedeutet, dass der Kern-Skold, der derzeit auf dem Bildschirm angezeigt wird, möglicherweise nicht unser aktueller Status
ist, wenn ein Benutzer mehrmals auf Gold klickt, da möglicherweise noch nicht alle Statusaktualisierungen
verarbeitet wurden.
Daher gibt es eine bessere Form, dies zu aktualisieren, als unsere neuen Statusdaten zu übergeben, um Kursziele festzulegen.
Sie können eine Funktion zum Festlegen von Kurszielen übergeben. Diese Funktion empfängt die neuesten Statusvorbereitungskursziele und
muss einen neuen Statusschnappschuss zurückgeben und gut reagieren.
Planen Sie dann alle diese Funktionsaufrufe und garantieren Sie, dass sie in der richtigen Reihenfolge
ausgeführt werden, sodass Sie auch dann die erste Ausführung erhalten, wenn eine Statusaktualisierung zum Zeitpunkt der Aktualisierung nach
der Ausführung verschoben wurde.
Und dann würden Sie hier einfach Darfor für die Rückkehr Pref Course Gold, was immer noch kein Ray Concat neues Ziel
ist.
Es wird das gleiche Ergebnis wie zuvor in dieser App liefern.
Und in dieser einfachen App wäre dieser Ansatz in Ordnung gewesen.
Grundsätzlich besteht keine Möglichkeit zu reagieren und Aktualisierungen so lange aufzuschieben, dass wir einen falschen Status erhalten.
Dies ist jedoch der kugelsichere Ansatz, der immer funktionieren wird.
Sie benötigen es nur, wenn Ihre Statusaktualisierung von den Daten des vorherigen Status abhängt, wie dies auch der Fall ist.
Wenn es sich bei Ihrer Statusaktualisierung um ein neues Datenelement handelt, das nicht vom vorherigen Status abhängt, können Sie
dieses nicht funktionierende Formular immer sicher verwenden.
Und hier ist eine Randnotiz, denn natürlich nutzt die gesamte Verkürzung
die allgemeine Funktionssyntax und entfernt die return-Anweisung in geschweiften Klammern.
Da wir nur einen Ausdruck haben, kehren wir sofort zurück.
Nun, mit dieser Anzeige, fragte Brooks vorher, aber dies ist ein bisschen sicherer und er empfahl den
Ansatz.
Ob Ihre Statusaktualisierung vom vorherigen Status abhängt.