xstate
XState 是一个将应用逻辑建模为状态机(state machine)的工具,用于处理复杂的前端交互流程。它通过显式定义状态与状态转移,替代分散的布尔标志(如 isLoading、isError、isSuccess),从而避免出现不可能的状态组合,例如同时处于加载和错误状态。XState 适合结账、用户引导、身份认证、多步骤表单等复杂有状态流程。文中示例展示了如何用 setup、assign、fromPromise 定义一个认证状态机,并通过 @xstate/react 的 useMachine 在 React 组件中使用,实现登录、登出、失败重试(带重试次数上限)等逻辑。指南指出:XState 适用于复杂流程,对简单的开关状态属于过度设计;简单状态可考虑 Zustand 或 Jotai。XState Visualizer(stately.ai/viz)可将状态机渲染为图示用于文档。