State Management · Senior · Frage 13 von 75

Was braucht ein memoisierter Selektor aus createSelector, um mit Argumenten effektiv zu sein?

const selectByCategory = createSelector(
  [(s) => s.products, (s, category) => category],
  (products, category) => products.filter((p) => p.category === category),
);
Antwort zeigen

Richtige Antwort: Eingabe-Selektoren, die stabile Referenzen liefern

Erklärung

Der Standard-Cache speichert die letzten Eingaben, wechselnde Argumente in mehreren Komponenten ('books', 'toys') berechnen also jedes Mal neu. Erzeuge einen Selektor pro Komponente (useMemo(makeSelector, [])) oder konfiguriere einen größeren Cache (weakMapMemoize ist in Reselect 5 Standard).

Zum Weiterlesen

Fehler in der Frage

State Management · Senior · Frage 13

Teste dich selbst

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

Diesen Test machen