問題タブ [redux-saga]

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 に答える
780 参照

redux - redux-saga フォークとレースを組み合わせる

redux-sagaforkと組み合わせる方法はありますか? race例えばこんなもの?

ここに画像の説明を入力

達成したいこと: UI をブロックせずにフェッチしたいので、ディスパッチされた特定のユーザー アクションに反応してSELECT_TAB_XYZ、すぐにタブを切り替えてもバックグラウンドでフェッチし続けることができます。デフォルトでは、ディスパッチされたアクションはキャッシュされていると思います(もしそうならresponse: call(request, requestURL),)。

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

reactjs - redux-sagas で複数のウォッチャーを設定し、その後キャンセルする方法

redux-saga について頭を悩ませようとして、saga で 2 つのウォッチャーを設定してからキャンセルするという問題に遭遇しました。

背景: サガがバックエンド API への呼び出しを処理して JSON スキーマをロードおよび保存する JSON エディター コンポーネントがあります。このプロジェクトはReact Boilerplateに基づいているため、アプリケーションの構造はほとんど同じです。

関連するコードは次のとおりです。

タスクyield watcher.forEach(task => cancel(task))の配列をループするだけだと思いましたが、キャンセルされていません。

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

reactjs - サーバー側の redux-saga のカスタム API でユーザー要求をラップします。

認証を処理するユニバーサル アプリでは、各ユーザーが独自の Cookie を持つことを考慮する必要があります。そのため、彼の初期のリクエスト オブジェクトを保存して、彼の将来の API 呼び出しを彼の Cookie で装飾できるようにする必要があります。redux-saga でそれを処理する方法がわかりません。ユーザー要求オブジェクトをラップするオブジェクトを各サガに挿入するカスタム ミドルウェアで作業を行う必要があると思います。少なくとも、それでうまくいくと思いますが、それを完全に達成する方法がわかりません。

私はそのようなことについて考えていました:

店を作る上でやるべきことがあるんだろうな

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

reactjs - Redux-saga はキャンセル後にアクションを呼び出します

内部に redux-saga を含む React-boilerplate を実装しようとしています。そのため、サーバーからデータを取得してから、別のページにリダイレクトしようとしています。問題は、サガをリダイレクトする前に、サーバーに 2 番目の要求を行うことです。キャンセルするのは何か問題があると思います。ここに私のコードの一部があります:

したがって、この例では 2 つのコンソール ログがあり、2 つ目はリダイレクト前に表示されます。どうすれば修正できますか?

そして別の質問です。実際には、このファイルにはさらに多くの機能があります。それらのそれぞれに「rootSaga」を作成する必要がありますか、それともその fetchDataRootSaga() でそれらをすべてキャンセルできますか? この方法でサガをキャンセルするのは正常ですか:

前もって感謝します!PS このコードがベスト プラクティスであるかどうかはわかりません。このリポジトリに触発されています

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

javascript - redux-sagaのgetState?

私はアイテムのリストを持つ店を持っています。アプリが最初に読み込まれるときに、項目に基づいてメモリ内オブジェクトを作成する場合と同様に、項目を逆シリアル化する必要があります。アイテムは私の redux ストアに保管され、itemsReducer.

副作用として、redux-sagaを使用して逆シリアル化を処理しようとしています。最初のページの読み込みで、アクションをディスパッチします。

私の佐賀は簡単に設定されています:

アイテムのメモリ内バージョンを作成する副作用を処理したいデシリアライズ サガでは、ストアから既存のデータを読み取る必要があります。ここでそれを行う方法がわかりません。または、それが redux-saga で試行する必要があるパターンである場合。

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

redux - Redux saga は 2 つの非同期呼び出しを同時にトリガーしません

ページをロードすると同時に redux saga を使用して非同期呼び出しを実行しようとしていますが、loadPositions() のみが呼び出されています。誰かが理由を知っていますか?競合状態に関係していると思います。私を修正してください。

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

redux-saga - レデューサーとサガの順番

アクションをディスパッチするとき、それがレデューサーに到着したときの順序とサガが保証されていますか?

私はそれを頼ることができます

  1. 最初に減速機に入ります
  2. その後、佐賀?

レデューサー:

佐賀: