State Management · Middle · Frage 21 von 75

Warum verursacht ein Selektor, der ein neues Objekt liefert, zusätzliche Renderings (oder in v5 eine Schleife)?

const { a, b } = useStore((s) => ({ a: s.a, b: s.b }));
Antwort zeigen

Richtige Antwort: Das Objekt ist jedes Mal neu; useShallow nutzen

Erklärung

Zustand vergleicht Selektor-Ergebnisse mit Object.is. useShallow((s) => ({ a: s.a, b: s.b })) vergleicht die Felder flach und behält dieselbe Referenz, wenn sie gleich sind.

Zum Weiterlesen

Fehler in der Frage

State Management · Middle · Frage 21

Teste dich selbst

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

Diesen Test machen