Provider不要の、React向け小型フックベースの状態管理ライブラリ。
- スター
- 30,412
- フォーク
- 1,410
- 未解決の Issue
- 123
- 最終コミット
- 13 時間前
これは何?
XStateは、フロントエンドとバックエンドの両方で使えるJavaScriptおよびTypeScript向けの状態管理・オーケストレーションライブラリです。アプリケーションのロジックを状態機械、ステートチャート、アクターとしてモデル化し、遷移や副作用、許可されるイベントを条件分岐の中に散在させず、明示的に宣言できます。
コアパッケージのxstateは、マシン定義、マシンのロジックを実行してスナップショットを購読者に公開するアクター、階層状態・並列状態・履歴状態のサポートを提供します。ビジュアルエディターのStately Studioでマシンを設計し、XState v5向けにエクスポートできます。React、Vue、Svelte、Solid向けのバインディングを追加する関連パッケージも用意されています。
よりシンプルな用途には、別パッケージの@xstate/storeがあります。リアクティブなatomと強力なTypeScriptの型推論を備えた小規模なイベントベースのストアで、コアライブラリの有無を問わず利用できます。
主な機能
- 01階層状態・並列状態・履歴状態を持つ状態機械とステートチャートを定義できます。
- 02状態スナップショットを購読者に公開するアクターとしてロジックを実行できます。
- 03ランタイム依存関係がありません。
- 04Stately Studioでビジュアルに設計し、エクスポートできます。
- 05React、Vue、Svelte、Solid向けのバインディングを利用できます。
- 06イベントベースの状態管理に使える、軽量な別パッケージ@xstate/storeを提供します。
ユースケース
- フォーム、ウィザード、チェックアウトなど、複数ステップからなるUIフローの管理。
- 長時間実行されるバックエンドのワークフローやバックグラウンドジョブのオーケストレーション。
- 複雑なコンポーネントの状態遷移を明示し、テスト可能にする。
- ReduxやZustandの代わりに、小規模なイベント駆動型ストアを使う。
クイックスタート
- 1
npmでxstateパッケージをインストールします
npm install xstate
収録されている特集
トピック
よくある質問
- xstate とは?
- 複雑なアプリやワークフローのロジックを管理する、状態機械・ステートチャート・アクター向けの依存関係ゼロのJavaScript/TypeScriptライブラリ。 XStateは、フロントエンドとバックエンドの両方で使えるJavaScriptおよびTypeScript向けの状態管理・オーケストレーションライブラリです。アプリケーションのロジックを状態機械、ステートチャート、アクターとしてモデル化し、遷移や副作用、許可されるイベントを条件分岐の中に散在させず、明示的に宣言できます。
- xstate は無料で使えますか?ライセンスは?
- xstate は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- xstate は今もメンテナンスされていますか?
- 活発にメンテナンス中。xstate の最終コミットは 2026年11月6日 です。
- xstate は何に使えますか?
- フォーム、ウィザード、チェックアウトなど、複数ステップからなるUIフローの管理。 長時間実行されるバックエンドのワークフローやバックグラウンドジョブのオーケストレーション。 複雑なコンポーネントの状態遷移を明示し、テスト可能にする。 ReduxやZustandの代わりに、小規模なイベント駆動型ストアを使う。
- xstate のインストール方法は?
- npmでxstateパッケージをインストールします: npm install xstate
- xstate はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/statelyai/xstate
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Reactなどのビューライブラリと併用できる、予測可能で保守しやすいグローバル状態管理のためのJavaScriptライブラリ。
依存関係を自動追跡し、再レンダリングを最適化する、JavaScript・TypeScriptアプリ向けのシンプルでスケーラブルな状態管理ライブラリ。
ReduxストアをhooksやProviderでReactコンポーネントに接続する、Redux公式のReactバインディングです。
Specification、Pseudocode、Architecture、Refinement、CompletionのSPARC 5フェーズを、TypeScriptのステートマシン、CLI、MCPサーバーで強制する、証拠に基づくエンジニアリングワークフローです。
チャットボットやエージェントなどの意思決定アプリケーションをステートマシンとして構築し、トレースと監視用のUIも備えたPythonライブラリ。