React · Middle · Frage 51 von 75

Was ist an diesem Effekt falsch?

const [filtered, setFiltered] = useState([]);
useEffect(() => {
  setFiltered(items.filter((i) => i.visible));
}, [items]);
Antwort zeigen

Richtige Antwort: Er speichert abgeleitete Daten; besser beim Rendern berechnen

Erklärung

Der Effekt rendert einmal mit veraltetem filtered und dann noch einmal mit dem neuen Wert. const filtered = items.filter(...) (bei teurer Berechnung mit useMemo) ist immer synchron.

Zum Weiterlesen

Fehler in der Frage

React · Middle · Frage 51

Teste dich selbst

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

Diesen Test machen