xState
https://scrapbox.io/files/67f28cc5bd74c7d9c2450330.png
It integrates well with React, Vue, Svelte, and other frameworks and can be used in the frontend, backend, or wherever JavaScript runs.
いつ採用すべきか?
一言でいうと、ありえない状態とイベントの組み合わせを防ぐため です。
いつ使うべきでないか?
XState で全ての状態を管理すべきと言ってるわけではありません。ボタンを押すとモーダルが表示される状態遷移は、XState で管理してしまうと却って オーバーエンジニアリング になってしまいます。 また、以下の場合は状態として持つべきではありません。
状態遷移から独立しており、値が操作の過程で変化しないもの
例えば、API レスポンスは state machine の遷移に変化する値ではないので XState で管理すべきではなく、useState で管理すべきです
いつ使うべきか?。
XStateで管理すべき基準としては
何かアクションを起こした時の遷移先が2つ以上ある
そもそも動くのか…?
公式ドキュメントにも記載があるし動きそう
You can use XState in Node.js or Deno to build serverless functions or persistent servers.