Entwurfsmuster · Middle · Frage 8 von 75

Warum sind die Flags isLoading, isError, isSuccess schlechter als ein expliziter Zustand?

type State =
  | { status: "idle" }
  | { status: "loading" }
  | { status: "success"; data: User }
  | { status: "error"; error: string };
Antwort zeigen

Richtige Antwort: Flags erlauben unmögliche Kombinationen

Erklärung

Drei boolesche Flags ergeben 8 Kombinationen, darunter sinnlose wie „lädt und Fehler zugleich“. Eine Discriminated Union ist im Grunde das State-Muster bzw. ein endlicher Automat: Übergänge sind explizit, und data gibt es nur in success.

Zum Weiterlesen

Fehler in der Frage

Entwurfsmuster · Middle · Frage 8

Teste dich selbst

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

Diesen Test machen