問題タブ [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 - Redux Saga で HTTP リクエスト レスポンスを表示する
React-sagaでリクエストからjsonを取得したい!私のサガが生成するデータをどのように取得するのか疑問に思っていました.takeLatestで「REQUEST_DONE」アクションを監視し、再レンダリングするcomponentWillMountでジェネレーター関数を呼び出すという考えがあります。
しかし、コンポーネントの 1 つで react-saga を使用するのは悪い考えだと思います。ガイダンスをお願いします
私の佐賀ファイル:
私のコンポーネント
reactjs - レンダリング前の Redux ディスパッチ
コンポーネントがレンダリングされる前にアクションをディスパッチしたい。ただし、アクションは redux-saga と統合された非同期アクションです。
非同期アクションがいつ実行されるかを知る必要があります。実行されている場合は、コンポーネントをレンダリングします。これを機能させるために、コンテナごとに一意の ID を用意し、アクションが完了すると、属性 { loaded: true } がストアに保存されます。
このように考えています
@preload
componenWillMount
(サーバー側の場合) または(クライアント側の場合)で指定されたアクションをトリガーする関数でcomponenDidMount
あり、アクションが呼び出されるresolve()
と、state.preloadState.uniqueId.loaded
が に設定されtrue
ます。また、コンポーネントをラップして、state.preloadState.uniqueId.loaded === true
.
@connect
指定したアクションで redux ストアにプリロードしたいデータを接続します。
Redux、redux-saga アプリ、およびサーバー側のレンダリングでもデータのプリロードを行うのが一般的な方法なのだろうか (以前は redux-async-connect を使用していましたが、ネストされたすべてのコンポーネントでデータのプリロードを実行できるようにしたいので、いくつかの静的関数の代わりに componentWillMount にバインドします)。
react-router - Redex-Saga で React-Router ページ遷移を行う方法
React-Router と Redux-Saga を使用しています。Sagas で React-Router Page Transition を実行したい場合、どうすればよいですか? ありがとう。
javascript - breakステートメントなしでwhile(true)ループを終了するにはどうすればよいですか?
redux-saga チャンネルのドキュメントを調べていました。コードに遭遇した場所:
ご覧のとおり、これは決して終了しない無限ループであるため、break または throw と例外を呼び出す必要があります。しかし、上記の例では、どれも当てはまりません。上記のコードまたは呼び出し元の関数内でスローされるブレークまたは例外はありません。上記の無限ループが終了し、finally ブロックに到達するにはどうすればよいでしょうか?
参照: http://yelouafi.github.io/redux-saga/docs/advanced/Channels.html
reactjs - react redux saga rootTask.done は解決されていません
sagaMiddleware を実行すると
rootTask の (sagaMiddleware.run(rootSaga) が返された) done Promise が解決されませんでした。どこに問題がありますか?
todo.sagas.js
registerSagas.js
サーバー側のレンダリング rootTask は解決されず、継続的に保留中です!
javascript - ECMA 2015:コールバックルーチンで「yield」を使用して非同期関数を使用する方法は?
ReduxとRedux-Sagaを使用する ECMA-2015-App (具体的には React Native) では、次のようなコードを常に大量に使用しています (これは正常に動作し、ここでは実際の問題ではありません)。
ここで短い質問: コールバック関数内で async 関数と yield-constructs を組み合わせる可能性はありますか?
より長い質問:
ユーザーのデバイスでローカルの sqlite-database を操作するには、この素晴らしいライブラリreact-native-sqlite-storageを使用します。
複数の SQL ステートメントをトランザクション内にカプセル化するには、次のようにコールバックが必要です。
これらすべてのステートメントが大きな単一のトランザクション内にカプセル化されている場合、多数の INSERT または UPDATE で sqlite を高速化することはよく知られており、ベスト プラクティスです。
しかし、多くの "yield" ステートメントで redux を使用してビジネス ロジックと UI 更新の間で通信しているため、現在問題が発生しています。
誰かがここにアイデアを持っていますか?
javascript - fetch 呼び出しによって返される promise 内でジェネレーター関数をコールバックとして使用する方法は?
上記は可能ですか?コールバック関数がジェネレーターの場合、コンソール出力が得られません。これは、コントロールがコールバック関数 (ジェネレーター) に渡されていないことを意味します。このようにしたい本当の理由は、ジェネレーター関数からのみ呼び出すことができる上記のコールバックから redux-saga の「call」ヘルパー関数を使用して、別のフェッチ要求を呼び出す必要があるためです。