問題タブ [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 投票する
1 に答える
184 参照

javascript - API accessToken に応じてサガを構築する方法

loginSagaを取得するための API 呼び出しを実行するサガがありaccessTokenます。これが成功したら、これでそのダウンロードデータをスピンアップするために他のサガをたくさん持ってみたいと思いますaccessToken

これらのサガは に依存しているaccessTokenため、 が表示されるまで実行する必要がありLOGOUT_SUCCESSます。その後、終了する必要があります。彼らが現在何かをダウンロードしている場合、これはキャンセルされるべきであり、結果は無視されます。

これは私が今持っているものです:

次に、LOGIN_SUCESS依存するサガ:

そして、それらはすべて を必要とするため、ペイロードでそれを運ぶため、accessTokenまで待たなければなりません。LOGIN_FINISHED

また、私の冒険談はすべて最初から開始され、待機しています。

authorizeフローが終了するloginDependingSagasと、をパラメーターとしてスピンアップできるのではないかと思いaccessTokenました。

そのようです:

関数 forkLoginDependingSagas(accessToken) { fork refreshUser(accessToken) fork updateActivities(accessToken) }

それは良いパターンですか?

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

reactjs - 送信されたアクションを生成したにもかかわらず、Saga が次の状態に遷移することはありません

このサガはLOGIN_SUCCESSアクションで動作し、データを正しく保持します。しかしその後は一切反応しませんLOGOUT_SUCCESS

また、最終行のテキストがコンソールに出力されるため、決して終了しません。

どうしたの?

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

javascript - redux saga が完了する前にメタタグを介して初期ストアデータをロードする方法は?

現在、サーバー レンダリングされたページがロードされてから、ストアに入力されるサガが完了するという状況に陥っています。ただし、 などの要素linksは、アクションを起動するためにストアに依存しています。たとえばlogin link、アプリケーションの状態を変更してモーダルを表示する必要がありますが、ストア データにはまだアクセスできません。を介して最初のストアをすぐにロードしたいと思いますmeta tag。どうすればこれを達成できますか?

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

reactjs - サーバー側の redux-saga とリダイヤルの使用

現在、アプリケーション サーバー側の初期状態を Redial で取得しようとしています。

リダイヤルは純粋なオブジェクト アクションをトリガーし、redux-saga はそのアクションをリッスン/待機してから、非同期要求を開始します。

しかし問題は、純粋なオブジェクトをディスパッチしているため、redux-saga が完了したときに解決するという約束が Redial にないことです。

成分

佐賀

に接続する方法はありredialますredux-sagaか?

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

javascript - 兄弟、または遠縁の React コンポーネントでの入力フォーカスの処理

コンポーネント E としてコンポーネント ツリーの別のより深いブランチにあるコンポーネント D があります。特定のアクションが D (またはスタック内の任意の場所) で発生した場合、E に入力を集中させたいと考えています。何らかの方法で入力へのグローバル参照を保存するrefか、サガを使用して離れた要素間でドキュメントのフォーカスを制御するためのより良い方法がありますか?

0 投票する
3 に答える
11172 参照

javascript - Redux-Saga で API リクエストの重複を避けるには?

これまでのところ、他の Flux 実装よりも Redux の方が好きで、これを使用してフロントエンド アプリケーションを書き直しています。

私が直面している主な苦労点:

  1. 重複したリクエストの送信を避けるために、API 呼び出しのステータスを維持します。
  2. レコード間の関係を維持します。

最初の問題は、各タイプのデータのサブステートにステータス フィールドを保持することで解決できます。例えば:

これで、投稿用の Saga とコメント用の別の Saga を作成できます。各サガは、リクエストのステータスを取得する方法を知っています。しかし、それはすぐに多くの重複コードにつながるでしょう (例: 投稿、コメント、いいね、リアクション、作成者など)。

重複したコードをすべて回避する良い方法があるかどうか疑問に思っています。

2 番目の問題は、redux ストアから ID でコメントを取得する必要があるときに発生します。データ間の関係を処理するためのベスト プラクティスはありますか?

ありがとう!