Represent async UI states safely.
Section: API and Domain Modeling Recipes
State machine union
typescript
typescript
type AsyncState<T> =
| { status: "idle" }
| { status: "loading" }
| { status: "success"; data: T }
| { status: "error"; error: string };Explanation
Discriminated unions make UI rendering branches easier to reason about.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing API and Domain Modeling Recipes