Heim > Artikel > Web-Frontend > Wie entferne ich Elemente aus dem Reaktionsstatus, ohne Lücken zu hinterlassen?
Elemente aus dem React-Status entfernen
Die Frage bezieht sich auf das Entfernen eines Elements, z. B. „Bob“, aus einem Array im React-Status. Die Herausforderung ergibt sich aus der Notwendigkeit, die Integrität des Arrays zu bewahren, ohne Leerstellen zu hinterlassen.
Zuvor schlug der Versuch, Bob mithilfe der Löschmutation manuell zu löschen, fehl. Stattdessen wird eine Lösung empfohlen, die den Prinzipien von React entspricht.
Unveränderliche Array-Manipulation
React verbietet die direkte Manipulation von Zustandswerten. Um ein Array innerhalb des Status zu ändern, muss eine neue Kopie erstellt werden.
Array.prototype.filter()
Der einfachste Ansatz ist die Nutzung von Array.prototype. filter(), um ein neues Array zu erstellen, das das zu entfernende Element weglässt. Zum Beispiel:
removePeople(e) { this.setState({people: this.state.people.filter(function(person) { return person !== e.target.value; })}); }
Dieser Code erstellt ein neues Array, indem er jedes Element in this.state.people durchläuft. Wenn der Name nicht mit dem zu entfernenden Element übereinstimmt (z. B. „Bob“), wird er im neuen Array beibehalten.
Fazit
Verwendung von filter() stellt die Unveränderlichkeit des Zustands sicher und wahrt die Integrität des Arrays, wodurch alle leeren Slots, die durch das Löschen zurückbleiben, beseitigt werden.
Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus dem Reaktionsstatus, ohne Lücken zu hinterlassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!