問題タブ [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.
reactjs - redux-sagas で複数のウォッチャーを設定し、その後キャンセルする方法
redux-saga について頭を悩ませようとして、saga で 2 つのウォッチャーを設定してからキャンセルするという問題に遭遇しました。
背景: サガがバックエンド API への呼び出しを処理して JSON スキーマをロードおよび保存する JSON エディター コンポーネントがあります。このプロジェクトはReact Boilerplateに基づいているため、アプリケーションの構造はほとんど同じです。
関連するコードは次のとおりです。
タスクyield watcher.forEach(task => cancel(task))
の配列をループするだけだと思いましたが、キャンセルされていません。
reactjs - サーバー側の redux-saga のカスタム API でユーザー要求をラップします。
認証を処理するユニバーサル アプリでは、各ユーザーが独自の Cookie を持つことを考慮する必要があります。そのため、彼の初期のリクエスト オブジェクトを保存して、彼の将来の API 呼び出しを彼の Cookie で装飾できるようにする必要があります。redux-saga でそれを処理する方法がわかりません。ユーザー要求オブジェクトをラップするオブジェクトを各サガに挿入するカスタム ミドルウェアで作業を行う必要があると思います。少なくとも、それでうまくいくと思いますが、それを完全に達成する方法がわかりません。
私はそのようなことについて考えていました:
店を作る上でやるべきことがあるんだろうな
reactjs - Redux-saga はキャンセル後にアクションを呼び出します
内部に redux-saga を含む React-boilerplate を実装しようとしています。そのため、サーバーからデータを取得してから、別のページにリダイレクトしようとしています。問題は、サガをリダイレクトする前に、サーバーに 2 番目の要求を行うことです。キャンセルするのは何か問題があると思います。ここに私のコードの一部があります:
したがって、この例では 2 つのコンソール ログがあり、2 つ目はリダイレクト前に表示されます。どうすれば修正できますか?
そして別の質問です。実際には、このファイルにはさらに多くの機能があります。それらのそれぞれに「rootSaga」を作成する必要がありますか、それともその fetchDataRootSaga() でそれらをすべてキャンセルできますか? この方法でサガをキャンセルするのは正常ですか:
前もって感謝します!PS このコードがベスト プラクティスであるかどうかはわかりません。このリポジトリに触発されています
javascript - redux-sagaのgetState?
私はアイテムのリストを持つ店を持っています。アプリが最初に読み込まれるときに、項目に基づいてメモリ内オブジェクトを作成する場合と同様に、項目を逆シリアル化する必要があります。アイテムは私の redux ストアに保管され、itemsReducer
.
副作用として、redux-sagaを使用して逆シリアル化を処理しようとしています。最初のページの読み込みで、アクションをディスパッチします。
私の佐賀は簡単に設定されています:
アイテムのメモリ内バージョンを作成する副作用を処理したいデシリアライズ サガでは、ストアから既存のデータを読み取る必要があります。ここでそれを行う方法がわかりません。または、それが redux-saga で試行する必要があるパターンである場合。
redux - Redux saga は 2 つの非同期呼び出しを同時にトリガーしません
ページをロードすると同時に redux saga を使用して非同期呼び出しを実行しようとしていますが、loadPositions() のみが呼び出されています。誰かが理由を知っていますか?競合状態に関係していると思います。私を修正してください。
debugging - rxjs5をデバッグするには?
RxJS - 目標について、私は彼らの目標がより良いデバッグ可能性であることを読みました:
目標
以前のバージョンの RxJS よりもデバッグ可能なコール スタックを提供する
私は使い始めたばかりで、 andを使用したリアクティブ スタイルにすでに慣れているため、redux-observable
これと比較して理解するのが非常に簡単です (わかりました、fp スタイルかもしれません ;)。まだデバッグできないことに驚きました。本当ですか?もしそうなら、おそらく s に切り替えるか、 に固執する必要があります。redux-saga
lodash
ramda
redux-saga
redux-thunk
ジェイ・フェルプスの回答に基づいて編集
observable.map(...)
デバッグとは、「ブラウザなどでブレークポイントを設定する方法は?」という意味です。ブラウザでブレークポイントを設定するとlodash
、その場所で停止し_.map(...)
ます。redux-observable
(または)でそれを行う方法はrxjs
?マーブル ダイアグラムの描画に依存したくありませんconsole.log()
。
redux-saga - レデューサーとサガの順番
アクションをディスパッチするとき、それがレデューサーに到着したときの順序とサガが保証されていますか?
私はそれを頼ることができます
- 最初に減速機に入ります
- その後、佐賀?
レデューサー:
佐賀: