問題タブ [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 に答える
11385 参照

ajax - redux-observable で ajax の代わりに fetch を使用する

Rx.DOM.ajaxの代わりにisomorphic -fetchredux-observableを使用することは可能ですか?

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

debugging - rxjs5をデバッグするには?

RxJS - 目標について、私は彼らの目標がより良いデバッグ可能性であることを読みました:

目標

以前のバージョンの RxJS よりもデバッグ可能なコール スタックを提供する

私は使い始めたばかりで、 andを使用したリアクティブ スタイルにすでに慣れているため、redux-observableこれと比較して理解するのが非常に簡単です (わかりました、fp スタイルかもしれません ;)。まだデバッグできないことに驚きました。本当ですか?もしそうなら、おそらく s に切り替えるか、 に固執する必要があります。redux-sagalodashramdaredux-sagaredux-thunk

ジェイ・フェルプスの回答に基づいて編集

observable.map(...)デバッグとは、「ブラウザなどでブレークポイントを設定する方法は?」という意味です。ブラウザでブレークポイントを設定するとlodash、その場所で停止し_.map(...)ます。redux-observable(または)でそれを行う方法はrxjs?マーブル ダイアグラムの描画に依存したくありませんconsole.log()

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

react-native - すべての redux-observable エピックにグローバル エラー ハンドラを追加する方法は?

redux-observable を使用して React Native アプリに取り組んでいます。.catch(err => console.error(err))私は10以上の叙事詩を持っています.React Nativeの「赤いボックス」を表示するために、すべてが終了します( https://facebook.github.io/react-native/docs/debugging.html#errorsを参照)大作。

代わりに、すべてのエピックで使用されるグローバル エラー ハンドラを定義するにはどうすればよいcombineEpicsですか (後で関数によって結合されます)。

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

redux-observable - redux-observable not exported createEpicMiddleware

I am using redux-observable in Ionic2 rc0 and getting below error, any idea?

0 投票する
7 に答える
40056 参照

javascript - Redux-Saga よりも Redux-Observable を使用する理由

Redux-Sagaを使用しました。それを使って書かれたコードは、JS ジェネレーター関数がときどき頭を悩ませていることを除けば、今のところ簡単に推論できます。私の理解では、Redux-Observableは、ジェネレーター関数を使用せずに、副作用を処理する同様の仕事を達成できます。

ただし、Redux-Observable のドキュメントでは、Redux-Saga に対して優れている理由について多くの意見が提供されていません。ジェネレーター関数を使用しないことが Redux-Observable を使用する唯一の利点であるかどうかを知りたいです。また、Redux-Saga の代わりに Redux-Observable を使用することの欠点、落とし穴、または妥協点は何でしょうか? 前もって感謝します。

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

reactjs - 反応ルーターの onEnter フック内に新しいエピックを遅延して追加するのは効率的な方法ですか?

redux-observable を react-router で使用する場合、ルート変更中に react-router の onEnter フック内のドキュメントの指示に従って、新しいエピックを非同期に追加することは理にかなっていますか?

./epics/index.js

...ルート/SomePath/index.js

Rxjs と redux-observable の非常に新しい。1. この場合、 /some-path に移動するたびに epic3 が rootEpic に再度追加されるのでしょうか? 2. rootEpic に追加されたエピックを console.log に記録したい場合、どうすればよいですか?


@JayPhelpsに応じて編集

いくつかの点について説明を求めてもよろしいですか?

  1. registerEpic fn はうまく機能します。私は .distinct() 演算子を使用して、重複した叙事詩の登録の問題に次のように対処していました。

    export const epic$ = new BehaviorSubject(combineEpics(epic1, epic2)).distinct()

これは、怠惰な叙事詩の登録を処理する同様に有効/適切な方法ですか?そうでない場合は、その理由を説明していただけますか?

  1. 私はrequire.ensureとES6インポートを備えたcreate-react-appを使用しています(これらはインポートの異なる方法ですよね?)、基本的に、コードを含むreact-routerのヒュージアプリの例require.ensureをコピーして貼り付けましたが、どこでもそれ以外の場合は、ファイルの先頭で import ステートメントを使用しています。

したがって、エピックと registerEpic fn を上部にインポートすると機能するように見えますが、require.ensure の最初の引数内にパスを配置することも機能するようです。require.ensure AND import ステートメントを使用すると、混乱しますか? ルートが必要とするすべてのものをロードするために require.ensure を使用する場合、そのルートのコンポーネントのネストされた (ルートのない) コンポーネント内のすべての import ステートメントを削除することを意味しますか?

  1. 非同期ロード用の 'getComponent' fn でのエピックの登録について - エピックが登録されるまでルートのコンポーネントがレンダリングされないように、ここで同期ロードを行うことが実際には望ましいと思いました。ユーザーがエピックの登録が必要な詳細情報の取得やフォームの送信など、エピックがまだ登録されていないルートで何かを行おうとするとどうなりますか?

  2. エピックを遅延登録するのに適切な、react-router module.export 宣言以外の場所はありますか? 私のプロジェクトの多くのルートはログインを必要としないため、ログインしても常にルートの変更がトリガーされるとは限りません。ただし、ユーザーがログインした後に登録する必要があるエピックがたくさんあります。現在、authReducer でトークン変数を設定することで、本当にばかげた、おそらく間違った方法でそれを行っていますが、関数を呼び出すだけです。新しい叙事詩を登録します。

    /li>

レデューサーではなく、loginEpic がエピックを登録するのに適した場所になると思います。(あなたのログイン例を github で見つけたので、見覚えがあるかもしれません)。それは正しいですか、それとも私は完全にベースから外れていますか? 私は .concat() が同期であることを知っており、redux が同期であることを知っています。それとも、問題にならないほど急速に物事が進んでいるということですか? それとも、インポートステートメントと、さらに調査する必要があるコード分割をwebpackがどのように処理するかについて、私が持っているいくつかの本質的な誤解のためにのみ機能しますか?

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

javascript - redux-observable のミドルウェアにエピックを非同期的に追加する

redux-observable を評価しようとしています。ドキュメントを調べただけで、非同期の叙事詩の読み込みを開始しようとしています。基本的にBehaviorSubjectのものの非同期使用を追加しようとするドキュメントからjsbinのフォークを作成しました。

http://jsbin.com/bazoqemiqu/edit?html,js,output

その「PING PONG」の例では、「OTHER」アクションを追加し、BehaviorSubject.next (ドキュメントで説明されているように) を使用してそのエピックを追加しました。ただし、この例を実行すると、PING アクションが起動され、その後に「OTHER」アクションのエンドレス ストリームが続きますが、PONG アクションは発生しません。これを確認するために、reduxLogger を追加しました。jsbin コンソールでは正しくレンダリングされないため、開発ツール コンソールで表示します。

私の質問は、私が間違っていることは何ですか? PONG アクションがディスパッチされないのはなぜですか?

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

node.js - redux observable で fetch を使用するとコール スタック サイズを超えました

ここで見られるようにフェッチを使用しています(redux-observableでajaxの代わりにフェッチを使用します)ノードを使用してサーバー側でフェッチを行います。残念ながら、AjaxObservable はブラウザーでしか機能しないため、サーバーでのフェッチには isomorphic-fetch を使用しています。

私のコードは次のようになります。

ただし、これをサーバー (つまりcanUseDOM == false) で実行すると、次のエラーが発生します。

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

promise - 新しいアクションを送信しない redux-observable エピック

私は初心者であり、このようなものがどのように機能するかをまだ完全には理解していない可能性がありますが、アクションをディスパッチして待機するプロミスを作成する方法として使用したい redux-observable の叙事詩があります。解決前の別のアクション。アクションをマッピングすることで機能してい'__IGNORE__'ますが、本当にやりたくありません。エピックにアクションを処理させるだけで、他に何も渡さない方法はありますか?

これが私のコードです: