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

javascript - Redux Saga で HTTP リクエスト レスポンスを表示する

React-sagaでリクエストからjsonを取得したい!私のサガが生成するデータをどのように取得するのか疑問に思っていました.takeLatestで「REQUEST_DONE」アクションを監視し、再レンダリングするcomponentWillMountでジェネレーター関数を呼び出すという考えがあります。

しかし、コンポーネントの 1 つで react-saga を使用するのは悪い考えだと思います。ガイダンスをお願いします

私の佐賀ファイル:

私のコンポーネント

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

reactjs - レンダリング前の Redux ディスパッチ

コンポーネントがレンダリングされる前にアクションをディスパッチしたい。ただし、アクションは redux-saga と統合された非同期アクションです。

非同期アクションがいつ実行されるかを知る必要があります。実行されている場合は、コンポーネントをレンダリングします。これを機能させるために、コンテナごとに一意の ID を用意し、アクションが完了すると、属性 { loaded: true } がストアに保存されます。

このように考えています

@preloadcomponenWillMount(サーバー側の場合) または(クライアント側の場合)で指定されたアクションをトリガーする関数でcomponenDidMountあり、アクションが呼び出されるresolve()と、state.preloadState.uniqueId.loadedが に設定されtrueます。また、コンポーネントをラップして、state.preloadState.uniqueId.loaded === true.

@connect指定したアクションで redux ストアにプリロードしたいデータを接続します。

Redux、redux-saga アプリ、およびサーバー側のレンダリングでもデータのプリロードを行うのが一般的な方法なのだろうか (以前は redux-async-connect を使用していましたが、ネストされたすべてのコンポーネントでデータのプリロードを実行できるようにしたいので、いくつかの静的関数の代わりに componentWillMount にバインドします)。

0 投票する
4 に答える
19733 参照

reactjs - redux のセレクターとは何ですか?

私はこのコードに従おうとしていますredux-saga

これは、次のように佐賀で使用されます。

このgetUserレデューサー (レデューサーでさえありますか) は、私が通常レデューサーに期待するものとは大きく異なります。

getUserセレクターとは何か、レデューサーとは何か、redux-saga とどのように適合するのか、誰でも説明できますか?

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

react-router - Redex-Saga で React-Router ページ遷移を行う方法

React-Router と Redux-Saga を使用しています。Sagas で React-Router Page Transition を実行したい場合、どうすればよいですか? ありがとう。

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

javascript - breakステートメントなしでwhile(true)ループを終了するにはどうすればよいですか?

redux-saga チャンネルのドキュメントを調べていました。コードに遭遇した場所:

ご覧のとおり、これは決して終了しない無限ループであるため、break または throw と例外を呼び出す必要があります。しかし、上記の例では、どれも当てはまりません。上記のコードまたは呼び出し元の関数内でスローされるブレークまたは例外はありません。上記の無限ループが終了し、finally ブロックに到達するにはどうすればよいでしょうか?

参照: http://yelouafi.github.io/redux-saga/docs/advanced/Channels.html

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

reactjs - react redux saga rootTask.done は解決されていません

sagaMiddleware を実行すると

rootTask の (sagaMiddleware.run(rootSaga) が返された) done Promise が解決されませんでした。どこに問題がありますか?

todo.sagas.js

registerSagas.js

サーバー側のレンダリング rootTask は解決されず、継続的に保留中です!

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

javascript - ECMA 2015:コールバックルーチンで「yield」を使用して非同期関数を使用する方法は?

ReduxRedux-Sagaを使用する ECMA-2015-App (具体的には React Native) では、次のようなコードを常に大量に使用しています (これは正常に動作し、ここでは実際の問題ではありません)。

ここで短い質問: コールバック関数内で async 関数と yield-constructs を組み合わせる可能性はありますか?

より長い質問:

ユーザーのデバイスでローカルの sqlite-database を操作するには、この素晴らしいライブラリreact-native-sqlite-storageを使用します。

複数の SQL ステートメントをトランザクション内にカプセル化するには、次のようにコールバックが必要です。

これらすべてのステートメントが大きな単一のトランザクション内にカプセル化されている場合、多数の INSERT または UPDATE で sqlite を高速化することはよく知られており、ベスト プラクティスです。

しかし、多くの "yield" ステートメントで redux を使用してビジネス ロジックと UI 更新の間で通信しているため、現在問題が発生しています。

誰かがここにアイデアを持っていますか?

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

javascript - fetch 呼び出しによって返される promise 内でジェネレーター関数をコールバックとして使用する方法は?

上記は可能ですか?コールバック関数がジェネレーターの場合、コンソール出力が得られません。これは、コントロールがコールバック関数 (ジェネレーター) に渡されていないことを意味します。このようにしたい本当の理由は、ジェネレーター関数からのみ呼び出すことができる上記のコールバックから redux-saga の「call」ヘルパー関数を使用して、別のフェッチ要求を呼び出す必要があるためです。