Imperativer Ansatz zur Aktualisierung des verschachtelten Zustands
In React sind Zustandsaktualisierungen unveränderlich. Das bedeutet, dass Sie zum Aktualisieren eines verschachtelten Objekts oder Arrays nicht einfach dessen Eigenschaften ändern und erwarten können, dass sich die Änderungen in der Benutzeroberfläche widerspiegeln. Stattdessen müssen Sie ein neues Objekt oder Array erstellen, das die aktualisierten Werte enthält, und es dann an setState übergeben.
Betrachten Sie das folgende Beispiel, in dem wir die Namenseigenschaft des Objekts an Index 1 im aktualisieren möchten items-Array gespeichert im Status:
<code class="javascript">handleChange: function (e) { // Make a copy of the items array let items = [...this.state.items]; // Make a copy of the item object at index 1 let item = {...items[1]}; // Change the name property of the copied item item.name = 'New Name'; // Replace the item at index 1 with the updated item items[1] = item; // Update the state with the new items array this.setState({items}); },</code>
Bei diesem Ansatz verwenden wir die Spread-Syntax (...), um flache Kopien des items-Arrays und des item-Objekts an Index 1 zu erstellen. Anschließend ändern wir die Namenseigenschaft des kopierten Elements und ersetzen Sie das Element an Index 1 durch die aktualisierte Version. Abschließend aktualisieren wir den Status mit dem Array „Neue Elemente“.
Dieser Ansatz ist unkompliziert und eignet sich gut für einfache Statusaktualisierungen. Bei komplexen Statusaktualisierungen mit mehreren verschachtelten Objekten oder Arrays kann es jedoch umständlich und fehleranfällig werden.
Das obige ist der detaillierte Inhalt vonWie aktualisieren Sie den verschachtelten Zustand in React mithilfe des imperativen Ansatzes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!