Heim >Web-Frontend >Front-End-Fragen und Antworten >Was tun, wenn Änderungen am React-Array nicht aktualisiert werden?

Was tun, wenn Änderungen am React-Array nicht aktualisiert werden?

藏色散人
藏色散人Original
2022-12-29 10:59:073310Durchsuche

React-Array-Änderungen werden nicht aktualisiert, da Array-Zuweisungen in js als Referenz übergeben werden. Die Lösung ist: 1. Öffnen Sie die entsprechende React-Datei. 2. Verwenden Sie den Spread-Operator, um ein neues Array zu erstellen und die Speicherreferenz zu ändern Verwenden Sie „panes.push({key: panes.length,tab: `${panes.length + 1}`})“, um den Wert neu zuzuweisen.

Was tun, wenn Änderungen am React-Array nicht aktualisiert werden?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Reaktionsversion 18.0.0, Dell G3-Computer.

Was soll ich tun, wenn sich das React-Array ändert, aber nicht aktualisiert wird?

Wenn sich das Attribut eines Elements eines Zustandsarrays in React ändert, wird die SetState-Seite nicht aktualisiert

Während des Codeschreibvorgangs werden Sie feststellen, dass es logisch ist, wenn Sie Push und andere Methoden direkt verwenden, um den Zustand zu ändern Wenn Sie also drücken, ändert sich das ursprüngliche Array. Es sollte aktualisiert werden, der gerenderte Status ändert sich jedoch nicht.

Das Problem, auf das ich heute gestoßen bin, ist: Nach dem Ändern der Array-Elemente in der Komponente ändern sich die Daten, aber die Seite wird nicht neu gerendert

Es wird gesagt, dass dies daran liegt, dass die Komponente die Änderungen im Array nicht erkennen kann Seite wird nicht neu gerendert

Lassen Sie also einfach die Komponente Wenn Sie spüren, dass Sie sich geändert haben, können Sie den Aktualisierungseffekt erzielen

Grund:

Dies liegt daran, dass in js die Zuweisung des Arrays als Referenz übergeben wird .array.push entspricht dem direkten Ändern des Speicherblocks, der dem Array entspricht, aber der Speicher des für den Vergleich verwendeten Arrays in React hat sich nicht geändert und zeigt nur auf denselben Speicher, sodass ein erneutes Rendern nicht möglich ist ausgelöst.

Sie können den Spread-Operator verwenden, um ein neues Array zu erstellen und die Speicherreferenz zu ändern

Das obige ist der detaillierte Inhalt vonWas tun, wenn Änderungen am React-Array nicht aktualisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn