Staat ist ein entscheidendes Konzept für die Reaktion.
Und mit unserem Wissen über den Status können wir jetzt auch sicherstellen, dass wir nicht nur ein Dummy-Ziel
erstellen, sondern tatsächlich die tatsächlichen Benutzereingaben widerspiegeln.
Kehren wir also zu einem neuen Ziel zurück.
Was Sie tun möchten, ist, dass wir die Benutzereingaben bei jedem Tastendruck in einer Variablen speichern möchten, damit wir den neuesten vom Benutzer eingegebenen
Wert haben und diesen eingegebenen Wert dann an Requisiten für das Anzeigenziel oder an unser neues Ziel hier anstatt an
übergeben diesen fest codierten Dummy-Text, den wir im Moment haben.
Also los geht's.
Ich möchte die Benutzereingaben hier erfassen und diese anstelle meines harten Textes hier als Teil des neuen Ziels
senden.
Wir könnten hier also eine Variable erstellen, Benutzereingaben oder möglicherweise eingegebenen Text, der anfangs eine leere Zeichenfolge ist.
Und hier bei der Eingabe werden sie tatsächlich auf das Änderungsereignis gesetzt.
Wir können hören, was abgefeuert wird und jeder Tastendruck.
Jetzt können wir eine Funktion hinzufügen.
Textänderungshandler.
Dort erhalten wir ein Ereignisobjekt und dieses Ereignisobjekt enthält Benutzereingaben für das Ereignis.
Ziel, das sich auf das Eingabeelement, den Punktwert, bezieht, und daher könnten wir den eingegebenen Text gleich
setzen.
Jetzt ändert sich die Texteingabe mit jedem Tastendruck.
Sobald wir die Änderung an den Textänderungshandler wie folgt gebunden haben.
Jetzt, hier in neuem Ziel, können wir die Eingabe von Text verwenden.
Also, was hat der Benutzer hier eingegeben?
Und danach lassen Sie uns die gesamte Konsole sperren und Sie gehen hierher, damit wir sehen können, dass dies funktioniert, wenn
wir jetzt die Sicherheit gewährleisten und hier den Test eingeben und auf das Ziel klicken.
Wir sehen, dass dies funktioniert und dies hier ausgegeben wird.
Dieser Ansatz ist im Allgemeinen in Ordnung, kann aber einen winzigen Fehler aufweisen.
Was ist, wenn wir dies zurücksetzen möchten, nachdem wir ein neues Ziel hinzugefügt haben?
Natürlich können wir zu unserem gehen.
Ad Gold Handler.
Und sobald wir das neue Ziel erstellt haben, können wir natürlich den eingegebenen Text auf eine leere Zeichenfolge zurücksetzen.
Aber das wird natürlich nichts bewirken.
Wenn ich sein Ziel eingegeben habe, wird dies hier nicht wiedergegeben.
Warum wird es nicht reflektiert?
Weil die neue Goldkomponente nicht gerendert wurde.
Dies ist kein Zustand, den wir verwalten.
Dies ist eine reguläre Variable.
Also können wir es natürlich ändern.
Natürlich können wir den Wert ändern.
Aber wenn wir dann einen neuen Wert setzen.
Dies wird in unserer Eingabe nicht berücksichtigt, da diese Eingabe nur eine Verbindung zum Textänderungshandler hat.
Es ist nicht bekannt, dass es den aktuell gespeicherten Wert widerspiegeln und den Text eingeben soll.
Jetzt können wir der Eingabekomponente mitteilen, dass sie dies tun soll, indem sie ihre Wertstütze binden.
Wir können dies an eingegebenen Text binden und mit Papa die Eingabekomponente mitteilen.
Hey, der in der Eingabe angezeigte Wert sollte abgewertet, gespeichert und eingegeben werden.
Text.
Wenn wir das tun, werden wir etwas Neues erfahren.
Jetzt können wir dort nicht mehr tippen. Wenn ich hier tippe, wird die Eingabe nicht wiedergegeben.
Wenn Sie darüber nachdenken, macht das Sinn.
Wenn Sie der Reaktanz mitteilen, dass die Eingabe so gerendert werden soll, dass der Wert eingegeben werden soll, geben Sie
bei jedem Tastendruck, den wir ändern, Text ein, aber die Eingabe von Text ist kein Status.
Es ist eine reguläre Variable.
Das bedeutet also, dass wir die Variable bei jedem Tastendruck ändern, aber tausendmal die Eingabekomponente neu
schreiben.
Es gibt nicht den aktualisierten Wert wieder, um zu reagieren. Es wird immer als leere Zeichenfolge abgewertet, da dies
das letzte Mal war, dass diese Komponente und der Delford-Entladungs-X-Code und daher als Eingabe gerendert wurden.
Wir müssen also sagen, dass dies ein Zustand ist und dass er unser J als X-Code rendern sollte, wenn
er sich ändert.
Daher können wir Sie hier wieder als Status importieren und die Eingabe in Text konvertieren, der bereits hier strukturiert ist. Sie geben an, dass es
sich anfangs um eine leere Zeichenfolge handelt oder dass hier zunächst eine leere Zeichenfolge vorhanden ist, da ich meinen
eingegebenen Text verwalte.
Und das zweite Element ist eine Funktion zum Aktualisieren des Status, der daher den eingegebenen Text aufruft.
Und jetzt setze ich hier bei jedem Tastendruck meinen eingegebenen Text so, dass ein Ereigniszielwert abgewertet wird.
Und hier brauchen wir diese Funktionsform zum Aktualisieren des Status nicht, weil wir einen brandneuen Wert haben,
der nicht vom vorherigen Status abhängt.
Wir können also einfach aktualisieren, um dies so einzustellen.
Und jetzt wird dies.
Rendern Sie diese Komponente immer wieder, wenn wir tippen, wenn wir set aufrufen, und geben Sie bei jedem Tastendruck noch ein, was
schrecklich klingt, aber großartig ist.
Reagieren.
Wir werden dies auf sehr effiziente Weise tun und daher wird dieser neueste Wert auf dem Eingabeelement
reflektiert.
Und hier in ADCO Handler können wir, wenn wir es aktualisieren, eingeben, schreiben und zurücksetzen möchten, den Text auf jeden Fall abrufen, festlegen,
eingeben und auf eine leere Zeichenfolge zurücksetzen.
Und damit haben wir jetzt das Beste aus beiden Welten.
Wir können hier etwas eingeben, das alles funktioniert.
Wir können es aber auch manipulieren und zurücksetzen, nachdem wir ein neues Ziel wie dieses hinzugefügt haben.
Dies ist also jetzt und niemals ein Anwendungsfall für die staatliche Verwaltung.
Und natürlich gibt es in unserer REACT-Anwendung viele Anwendungsfälle.
Und hier verwenden wir die Statusverwaltung, um etwas zu erstellen, das manchmal auch als Wegbindung bezeichnet wird, wobei der
Wert der Eingabe gebunden wird und bei jedem Tastendruck der Wert aktualisiert wird, den wir dann
an die Eingabe zurückbinden, sodass wir immer den Wert widerspiegeln letzter Wert innerhalb der Eingabe.
Wir können dies aber auch staatlich steuern.
Haben wir also alle die Möglichkeit, den Wert innerhalb unseres Codes hier oben zu manipulieren und dies in diesem Fall wieder
in die Eingabe einzubeziehen?
Damit haben wir ein weiteres Szenario der staatlichen Verwaltung und können nun unsere eigenen Ziele hinzufügen.