Heim >Web-Frontend >js-Tutorial >Rendert React Komponenten nach jedem „setState()'-Aufruf neu?
Rendert React alle Komponenten erneut und ihre Unterkomponenten, wann immer „setState()“ ist aufgerufen?
Ja, React löst standardmäßig ein erneutes Rendern aus, nachdem „setState()“ aufgerufen wurde.
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.
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.
Standardmäßig gibt „shouldComponentUpdate“ true zurück, um sicherzustellen, dass ein erneutes Rendering erfolgt jedes Mal, wenn sich der Status oder die Requisiten ändern.
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.
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!