問題タブ [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.
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) }
それは良いパターンですか?
reactjs - 送信されたアクションを生成したにもかかわらず、Saga が次の状態に遷移することはありません
このサガはLOGIN_SUCCESS
アクションで動作し、データを正しく保持します。しかしその後は一切反応しませんLOGOUT_SUCCESS
また、最終行のテキストがコンソールに出力されるため、決して終了しません。
どうしたの?
javascript - redux saga が完了する前にメタタグを介して初期ストアデータをロードする方法は?
現在、サーバー レンダリングされたページがロードされてから、ストアに入力されるサガが完了するという状況に陥っています。ただし、 などの要素links
は、アクションを起動するためにストアに依存しています。たとえばlogin link
、アプリケーションの状態を変更してモーダルを表示する必要がありますが、ストア データにはまだアクセスできません。を介して最初のストアをすぐにロードしたいと思いますmeta tag
。どうすればこれを達成できますか?
reactjs - サーバー側の redux-saga とリダイヤルの使用
現在、アプリケーション サーバー側の初期状態を Redial で取得しようとしています。
リダイヤルは純粋なオブジェクト アクションをトリガーし、redux-saga はそのアクションをリッスン/待機してから、非同期要求を開始します。
しかし問題は、純粋なオブジェクトをディスパッチしているため、redux-saga が完了したときに解決するという約束が Redial にないことです。
成分
佐賀
に接続する方法はありredial
ますredux-saga
か?
javascript - 兄弟、または遠縁の React コンポーネントでの入力フォーカスの処理
コンポーネント E としてコンポーネント ツリーの別のより深いブランチにあるコンポーネント D があります。特定のアクションが D (またはスタック内の任意の場所) で発生した場合、E に入力を集中させたいと考えています。何らかの方法で入力へのグローバル参照を保存するref
か、サガを使用して離れた要素間でドキュメントのフォーカスを制御するためのより良い方法がありますか?
javascript - Redux-Saga で API リクエストの重複を避けるには?
これまでのところ、他の Flux 実装よりも Redux の方が好きで、これを使用してフロントエンド アプリケーションを書き直しています。
私が直面している主な苦労点:
- 重複したリクエストの送信を避けるために、API 呼び出しのステータスを維持します。
- レコード間の関係を維持します。
最初の問題は、各タイプのデータのサブステートにステータス フィールドを保持することで解決できます。例えば:
これで、投稿用の Saga とコメント用の別の Saga を作成できます。各サガは、リクエストのステータスを取得する方法を知っています。しかし、それはすぐに多くの重複コードにつながるでしょう (例: 投稿、コメント、いいね、リアクション、作成者など)。
重複したコードをすべて回避する良い方法があるかどうか疑問に思っています。
2 番目の問題は、redux ストアから ID でコメントを取得する必要があるときに発生します。データ間の関係を処理するためのベスト プラクティスはありますか?
ありがとう!