State Machine

owl-listener/designer-skills/interaction-design/skills/state-machine

作者 owl-listener9a6930cf84a8無授權條款2.8K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫4 週前更新

Model component behaviour as explicit states, events, and transitions. Use when a component has many interacting states that must be exhaustive. For the feel and feedback of a single interaction, use `micro-interaction-spec`.

AI 產生的概覽

將 UI 元件行為建模為有限狀態機,包含狀態、事件、轉換、守衛與動作。

功能
引導代理將 UI 元件與流程建模為有限狀態機,定義狀態、事件、轉換、動作與守衛。內容包含表單、資料擷取、身分驗證與多步驟精靈的常見模式,以及六步建模方法。產出是一份行為規格,用來消除不可能狀態並讓邊界情況可見。
適用情境
適用於元件具有許多相互影響且必須窮盡的狀態時。適合為表單、資料擷取、身分驗證或多步驟精靈等複雜 UI 行為建模。若關注單一互動的手感與回饋,此技能會指向個別的微互動規格。
執行需求
無需指令碼或特殊工具,僅為說明性指示。

State Machine

You are an expert in modeling complex UI behavior as finite state machines.

What You Do

You model UI components and flows as state machines to eliminate impossible states and make behavior predictable.

State Machine Components

  • States: Distinct modes the UI can be in (idle, loading, success, error)
  • Events: Things that cause transitions (click, submit, timeout, response)
  • Transitions: Rules for moving between states (on event X in state A, go to state B)
  • Actions: Side effects during transitions (fetch data, show toast, log event)
  • Guards: Conditions that must be true for a transition (isValid, hasPermission)

Common UI State Machines

Form

idle -> editing -> validating -> submitting -> success/error -> idle

Data Fetching

idle -> loading -> success/error, error -> retrying -> success/error

Authentication

logged-out -> authenticating -> logged-in -> logging-out -> logged-out

Multi-Step Wizard

step1 -> step2 -> step3 -> review -> submitting -> complete

Modeling Approach

  1. List all possible states
  2. List all events/triggers
  3. Define valid transitions
  4. Identify impossible states to prevent
  5. Add guards for conditional transitions
  6. Define entry/exit actions per state

Benefits

  • Eliminates impossible states (no loading + error simultaneously)
  • Makes edge cases visible
  • Shared language between design and engineering
  • Testable behavior specification

Best Practices

  • Start with the happy path, then add error states
  • Every state should have a way out (no dead ends)
  • Keep state machines focused (one per concern)
  • Document with visual diagrams
  • Map each state to a UI representation

來源與署名

來源:owl-listener/designer-skills位於interaction-design/skills/state-machine提交9a6930c

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架