問題タブ [redux-observable]

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 投票する
2 に答える
23037 参照

javascript - redux-observable - 単一のエピックで複数の redux アクションをディスパッチする

redux-observableミドルウェアの単一の叙事詩で複数の還元アクションをディスパッチする方法を探しています。

私が次のエピックを持っているとしましょう。イベントが発生するたびにSEARCH、Epic はバックエンドからデータをロードし、アクションをディスパッチしRESULTS_LOADEDます。

searchPromiseここで、が解決されたときに追加のアクションをディスパッチする必要があると仮定しましょう。

RESULTS_LOADEDこれを行う最も簡単な方法は、2 番目のアクションをリッスンしてディスパッチする 2 番目の叙事詩を持つようです。そのようです:

この単純な例では、非常に簡単です。しかし、エピックが成長すると、他のアクションをトリガーすることを唯一の目的とする多くの還元アクションを自分自身が持っていることに気付く傾向があります。さらに、rxjs コードの一部を繰り返す必要があります。私はこれが少し醜いと思います。

それで、私の質問: 単一のエピックで複数の還元アクションをディスパッチする方法はありますか?

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

javascript - redux-observable エピック内から状態にアクセスする

私は redux を使って小さな fusball-manager を構築しています。基本的には、両方のチームのスコアとそれらをインクリメントするいくつかのボタンを表示するページです。{ type:"GOAL_UP", team:"red" }レデューサーが状態の対応する値 (スコア) を変更するようなアクションがあります。

GOAL_UPここで、2 つのチームのいずれかがゲームに勝った場合にチェックが発生するたびに、エピックを追加したいと考えています。GAME_WONチームのスコアが 8 に達したら、アクションをディスパッチしてもらいたいです。私の問題は、各チームのスコアを知るために状態にアクセスする必要があることです。エピック内から状態にアクセスする方法が見つかりません。

redux-observable の範囲外の状態にアクセスしていますか? もしそうなら、あなたはこの問題をどのように解決しますか?

GOAL_UP新しいスコアをアクションのプロパティとして持つことを考えています。このようなもの{ type:"GOAL_UP", team:"red", newScore:8 }。しかし、なんとなくこれは間違っているように感じます。また、fusball-table には、GOAL_UPアクションをディスパッチする Web ソケットに接続された 2 つの物理ボタンがあります。それらは私のUIからトリガーされていないため、状態について知りません。

どちらかのチームのスコアが 8 の場合、UI コンポーネントの render 関数でアクションをディスパッチすることも考えGAME_WONられます。しかし、それはさらに間違っているように感じます :)

入力は大歓迎です、ありがとう

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

javascript - Redux Observable を使用した EventSource の方法

質問は簡単です。どうすれば redux-observable を EventSource で使用できますか?

RxJ では次のようになります。

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

rxjs - redux-observable エピックのスタブ キャッチ

rxjs オブザーバーの catch 関数をテストしようとしていますが、catch が実行されません。

test.js

エピックはhttps://redux-observable.js.org/を参照してください

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

rxjs - キャンセルに応じてアクションをディスパッチする

redux-observable docs のキャンセル レシピから始めて、少し拡張したいと思います。

基本的に、キャンセルがトリガーされた後、takeUntil別のアクションをディスパッチしてクリーンアップするなどのシナリオがあります。

これは私がこれまでに思いついたものです: https://jsbin.com/zemenu/195/edit?js,output

「ユーザー情報の取得」を開始し、[キャンセル] をクリックします。次の順序でアクションを実行したい:
- USER/FETCH
- REQUEST/STARTED
- USER/CANCELLED
-REQUEST/CANCELLED

これは、現在セットアップしている方法で機能します。dispatchしかし、私は関数への受け渡しに依存しrequestSequence、それを でトリガーする必要がありfinallyます。観察可能な演算子だけでこれを行うためのよりクリーンな方法はありますか? したがって、それUSER.CANCELLEDがトリガーされると、いくつかの最終アクションがrequestSequenceオブザーバブル内にマップされます。

Redux ロガーが有効になっているため、コンソールですべてのアクションを確認してください。

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

redux - 逆の順序で呼び出される RxJS Observables

3 つのアクションをディスパッチする次のコードがあります。

  • deleteLineFailed
  • showConfirmationMessage
  • 2 秒待つ
  • hide確認メッセージ

いくつかの理由で、私がそれを機能させることができた唯一の方法は逆の順序です.私が間違っているのは何ですか?

0 投票する
2 に答える
1080 参照

reactjs - debounce オペレーターを使用した redux-observable Epic のテスト

次のredux-observable叙事詩を持つ:

そして次のテスト

store.getActions() は、「MOUSE_OVER」という 1 つのアクションを含む配列を返します。一方、デバウンスを削除すると、別の(および予想される)アクション「OVER」が返されます。
テストでデバウンス演算子をスタブ/削除したいと思います。sinon スタブ関数を使用してこのリンクのアイデアをたどろうとしましたが、成功しませんでした。
RxJS オペレーターまたは具体的にはデバウンス/スロットルをモックする方法に関するいくつかのガイドラインをいただければ幸いです。
React、Mocha、Chai、Enzyme を使用して...

ありがとう