問題タブ [xstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
513 参照

javascript - Xstate のサービス内からスポーンされたアクターのクリーニングと停止

私はドキュメントを広範囲に読みましたが、まだ完全に明確ではない部分がいくつかあり、ほとんどはアクター/サービスに関係しています

スポーンされたアクターのライフサイクルの詳細については、少し曖昧です。

  • .stop()スポーンされたアクターでサービスを呼び出すと、スポーンされたアクターも呼び出され.stop()ますか、それともハングしたままになりますか?
  • スポーンされたアクターをマシンからクリアするにはどうすればよいですか? childrenサービス自体の内部からスポーンされたアクターにアクセスする方法はありますか? (アクション内からのように)

ファイルを追加するためのアクションを備えたマシンがあるとします。ファイルが追加されると、それに対して newspawn()が呼び出され、参照がcontext. さて、マシンが何をしていても終了したら、それぞれをリセットしてクリアしたいと思いcontextます。children.stop()

ここで完全に具体的に言うと、上記の動作を実装するアップロード システムをどのようにモデル化したかということです。

この実装では、マシンがその状態に戻るたびに、スポーンされた各アクターを手動でidleリセットして実行しています。ただし、アクター サービスはまだ にぶら下がっていて、マシン アクション内からアクセスすることはできません (3 番目のパラメーターを に追加しても、現在の にアクセスすることはできません)。context.stop().childrenmetaresetContextchildren

.stop()アクターの ing と のクリアchildrenと のリセットに関してはcontext、理想的には状態が入力されたときに実行されるように、それぞれに個別のアクションが必要idleですが、 にアクセスする方法が見つからないように見えるため、childrenすべてを 1 つのアクションで実行します。これcontextが私が考えることができる唯一の解決策です。

また、todo が削除されたときの公式の例では、スポーンされたアクターが.stop()ed ではないことに注意してください。

以下は、便宜上、アップロード システムとファイルを実装するコードです。ビジュアライザーも含む完全な実装は、次の場所にあります

0 投票する
1 に答える
719 参照

javascript - xstate を使用して、すべての状態に適用可能で、すべての状態とサブ状態で同じ方法で処理されるイベントを構成することは可能ですか?

私は xstate を初めて使用します。親状態やサブ状態に基づいて、ユーザーがアプリケーションでさまざまなことを要求できるアプリケーションで使用しようとしています。ただし、アプリの状態/サブ状態に関係なく、ユーザーが作成できる必要がある要求がいくつかあります。それらのイベントへの応答は、前の状態が何であったとしても同じです。すべての状態/サブ状態で繰り返し定義する必要がないように、このイベントを構成するにはどうすればよいですか?