Heim > Web-Frontend > js-Tutorial > Rendert React Komponenten nach jedem „setState()'-Aufruf neu?

Rendert React Komponenten nach jedem „setState()'-Aufruf neu?

Mary-Kate Olsen
Freigeben: 2024-11-29 00:20:11
Original
619 Leute haben es durchsucht

Does React Re-render Components After Every `setState()` Call?

ReactJS: React-Rendering nach „setState“-Aufruf

Abfrage: React-Re-Rendering mit „setState“

Rendert React alle Komponenten erneut und ihre Unterkomponenten, wann immer „setState()“ ist aufgerufen?

Erklärung:

Ja, React löst standardmäßig ein erneutes Rendern aus, nachdem „setState()“ aufgerufen wurde.

Grund für Standardverhalten:

Obwohl React darauf abzielt, das Rendering zu optimieren, verhindert es subtile Fehler, die durch Zustandsmutationen verursacht werden, indem es das „Rendern“ immer erneut ausführt. Methode, wenn sich der Status ändert.

ShouldComponentUpdate-Methode:

Jede Komponente verfügt über eine Methode namens „shouldComponentUpdate(nextProps, nextState)“. Diese Methode bestimmt, ob „render“ basierend auf Änderungen an Requisiten und Status erneut ausgeführt werden soll.

Standardimplementierung von ShouldComponentUpdate:

Standardmäßig gibt „shouldComponentUpdate“ true zurück, um sicherzustellen, dass ein erneutes Rendering erfolgt jedes Mal, wenn sich der Status oder die Requisiten ändern.

Beispiel:

Im bereitgestellten Code-Snippet: Die Hauptkomponente setzt ihren Status jedes Mal auf denselben Wert („me“), wenn auf den Text geklickt wird. Auch wenn sich der Status nicht ändert, rendert React dennoch sowohl die Main- als auch die TimeInChild-Komponente neu, da „shouldComponentUpdate“ standardmäßig „true“ zurückgibt.

Benutzerdefinierte ShouldComponentUpdate-Implementierung:

Sie können das Rendering optimieren durch Schreiben einer benutzerdefinierten Implementierung von „shouldComponentUpdate“, die die alten und neuen Requisiten und den Status vergleicht, um festzustellen, ob ein tatsächliches erneutes Rendern erforderlich ist.

Das obige ist der detaillierte Inhalt vonRendert React Komponenten nach jedem „setState()'-Aufruf neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage