React · Middle · Frage 55 von 75

Wie sollte eine Komponente ein Browser-Event wie resize abonnieren?

useEffect(() => {
  const onResize = () => setWidth(window.innerWidth);
  window.addEventListener("resize", onResize);
  return () => window.removeEventListener("resize", onResize);
}, []);
Antwort zeigen

Richtige Antwort: In useEffect, mit Abmeldung im Cleanup

Erklärung

Ohne Cleanup fügt jedes Mounten einen Listener hinzu, der nie entfernt wird (Strict Mode macht das sichtbar). Für externe Stores ist useSyncExternalStore die robustere Option.

Zum Weiterlesen

Fehler in der Frage

React · Middle · Frage 55

Teste dich selbst

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

Diesen Test machen