問題タブ [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-saga の es6 ジェネレーターを websocket または eventsource の onmessage リスナーとして使用できますか?
onmessage
redux-saga をリスナーと連携させようとしています。私が持っているものが機能しない理由がわかりません。
私は次の設定をしています。
APP_LOADED
アクションがディスパッチされると、ストリームが開かれ、サーバーからデータが受信されると onMessage リスナーが呼び出されますが、ジェネレーターでgetTransactions
呼び出すときにアクションをディスパッチする運がありません。yield put(transactions(txs))
foo
誰が私が間違っているのか教えてもらえますか?
redux - redux-saga いくつかの迅速に発射された同じアクションが見逃されました
こんにちは、React コンポーネントの 1 つに onChange コールバックがあります。このコールバックは、次のようなマップ呼び出しを通じてアクションを数回ディスパッチします。
そして、次のような「アイテム」の佐賀があります。
つまり、ITEMS_UPDATE_START アクションがディスパッチされるたびに、新しい updateItemDbCrud がフォークされ、いくつかの API 作業が行われると予想していましたが、一連のディスパッチの最初の処理のみが行われることに気付きました。フォークの使い方が間違っていますか?
ありがとうございました!
javascript - 発行されたイベント イベントを redux-saga に結び付ける方法は?
redux-sagaを使用してPouchDBからReact.jsアプリケーションにイベントを接続しようとしていますが、PouchDB から発行されたイベントを Saga に接続する方法を理解するのに苦労しています。イベントはコールバック関数を使用するため (ジェネレーターを渡すことはできません)、yield put()
コールバック内で使用することはできません。ES2015 のコンパイル (Webpack を使用) 後に奇妙なエラーが発生します。
これが私が達成しようとしていることです。動作しない部分は内部にありreplication.on('change' (info) => {})
ます。
reactjs - API リクエストの redux saga は理にかなっていますか?
一般的なリクエスト サガに意味があるのだろうか?
ヘッダー、URL、データなどのすべての情報をREQUEST
含むアクションを実行し、それを独自のヘッダーとベース URL とマージします。次にfetch
リクエストを送信し、次にput(REQUEST_SUCCEEDED, json)
ストア内の json ペイロードを使用します。
私が理解しているように、これは一度に 1 つのリクエストしか許可しないため、API フェッチ関数を呼び出す代わりに、fork
より良いでしょうか?
saga は、応答ヘッダーで API を検出すると、その API を管理し、access_token
後続のすべての要求のために保存することもできます。
reactjs - ダウンロードしたアイテムの正規化を redux-saga または reducer で処理しますか?
削除 API から取得したデータは、アプリで処理できる形式ではありません。My saga がデータをダウンロードします。
誰が正規化を処理する必要がありますか?
正規化されたデータで成功アクションをディスパッチする前のサガ自体?
または、ルーターは新しい状態を構築する前に日付を正規化する必要がありますか?
編集サガで正規化し、リデューサーをクリーンに保つことを選択しました。アクティビティを新しいアクティビティに置き換えるだけactivitiesUpdated
です。
レデューサー
そして、それらはサガです:
updateActivities
サガでダブル ラップされた while ループについて考えてみませんか?
また、それは正しいですか
yield take([REFRESH_ACTIVITIES, LOGOUT])
は単なるショートカットです
yield race[take(REFRESH_ACTIVITIES), take(LOGOUT)]
cucumber - キュウリ機能の redux-saga からの API リクエストをスタブ/モックする方法は?
定期的に call(fetch, url) を生成する redux-saga があります。
このアプリの動作をテストするキュウリ機能が欲しいです。サガそのものではありません。私はすでにそのようなテストをしています。
特に並列サガもアプリで実行されているため、フェッチ操作をモックする方法を理解できません。