React · Middle · Frage 21 von 75

Warum rendern alle Context-Konsumenten bei jedem Rendern des Providers neu?

<AuthContext value={{ user, login, logout }}>
  {children}
</AuthContext>
Antwort zeigen

Richtige Antwort: value ist bei jedem Rendern des Providers ein neues Objekt

Erklärung

React vergleicht value per Object.is. Ein Objektliteral ist immer neu, also weckt jedes Rendering des Providers alle Konsumenten. Die Lösung ist useMemo für den Wert (und useCallback für Funktionen) oder das Aufteilen des Contexts.

Zum Weiterlesen

Fehler in der Frage

React · Middle · Frage 21

Teste dich selbst

Mach den Test React · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen