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

reactjs - redux-saga の es6 ジェネレーターを websocket または eventsource の onmessage リスナーとして使用できますか?

onmessageredux-saga をリスナーと連携させようとしています。私が持っているものが機能しない理由がわかりません。

私は次の設定をしています。

APP_LOADEDアクションがディスパッチされると、ストリームが開かれ、サーバーからデータが受信されると onMessage リスナーが呼び出されますが、ジェネレーターでgetTransactions呼び出すときにアクションをディスパッチする運がありません。yield put(transactions(txs))foo

誰が私が間違っているのか教えてもらえますか?

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

redux - redux-saga いくつかの迅速に発射された同じアクションが見逃されました

こんにちは、React コンポーネントの 1 つに onChange コールバックがあります。このコールバックは、次のようなマップ呼び出しを通じてアクションを数回ディスパッチします。

そして、次のような「アイテム」の佐賀があります。

つまり、ITEMS_UPDATE_START アクションがディスパッチされるたびに、新しい updateItemDbCrud がフォークされ、いくつかの API 作業が行われると予想していましたが、一連のディスパッチの最初の処理のみが行われることに気付きました。フォークの使い方が間違っていますか?

ありがとうございました!

0 投票する
5 に答える
11894 参照

javascript - 発行されたイベント イベントを redux-saga に結び付ける方法は?

redux-sagaを使用してPouchDBからReact.jsアプリケーションにイベントを接続しようとしていますが、PouchDB から発行されたイベントを Saga に接続する方法を理解するのに苦労しています。イベントはコールバック関数を使用するため (ジェネレーターを渡すことはできません)、yield put()コールバック内で使用することはできません。ES2015 のコンパイル (Webpack を使用) 後に奇妙なエラーが発生します。

これが私が達成しようとしていることです。動作しない部分は内部にありreplication.on('change' (info) => {})ます。

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

reactjs - API リクエストの redux saga は理にかなっていますか?

一般的なリクエスト サガに意味があるのだろうか?

ヘッダー、URL、データなどのすべての情報をREQUEST含むアクションを実行し、それを独自のヘッダーとベース URL とマージします。次にfetchリクエストを送信し、次にput(REQUEST_SUCCEEDED, json)ストア内の json ペイロードを使用します。

私が理解しているように、これは一度に 1 つのリクエストしか許可しないため、API フェッチ関数を呼び出す代わりに、forkより良いでしょうか?

saga は、応答ヘッダーで API を検出すると、その API を管理し、access_token後続のすべての要求のために保存することもできます。

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

reactjs - ダウンロードしたアイテムの正規化を redux-saga または reducer で処理しますか?

削除 API から取得したデータは、アプリで処理できる形式ではありません。My saga がデータをダウンロードします。

誰が正規化を処理する必要がありますか?

正規化されたデータで成功アクションをディスパッチする前のサガ自体?

または、ルーターは新しい状態を構築する前に日付を正規化する必要がありますか?

編集サガで正規化し、リデューサーをクリーンに保つことを選択しました。アクティビティを新しいアクティビティに置き換えるだけactivitiesUpdatedです。

レデューサー

そして、それらはサガです:

updateActivitiesサガでダブル ラップされた while ループについて考えてみませんか?

また、それは正しいですか

yield take([REFRESH_ACTIVITIES, LOGOUT])

は単なるショートカットです

yield race[take(REFRESH_ACTIVITIES), take(LOGOUT)]

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

cucumber - キュウリ機能の redux-saga からの API リクエストをスタブ/モックする方法は?

定期的に call(fetch, url) を生成する redux-saga があります。

このアプリの動作をテストするキュウリ機能が欲しいです。サガそのものではありません。私はすでにそのようなテストをしています。

特に並列サガもアプリで実行されているため、フェッチ操作をモックする方法を理解できません。