問題タブ [redux-api-middleware]
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-api-middleware エンドポイントのグローバル設定を行う方法
redux-api-middleware
以下のような API 呼び出しを作成できます。
問題は、すべてのリクエストに対して、共通のエンド ポイント http://localhost:1337
、ヘッダー コンテンツ タイプ、および認証トークン の設定を使用していることです。
これらの設定をグローバルに設定する場所が必要です。公式ドキュメントから解決策を見つけることができません。誰もこれを知っていますか?またはこれを達成するためのアイデアはありますか?
前もって感謝します..
javascript - redux-api-middleware はどのようにストアにデータを追加しますか?
バックグラウンド
redux と react ルーターを使用して、ユニバーサルな反応アプリケーションを作成しています。サーバー側のレンダリングと基本的な redux アクション (ストアでブール値を変更する) を使用して、ほとんどのアプリケーションをセットアップしました。ここで、アプリのデータを取得するためにいくつかの API 呼び出しを行いたいと思います。
現在の実装
redux-api-middleware を使用することをお勧めしますが、ストアに追加するデータを取得できません。ドキュメントに従って、このようなアクションを作成しました。
example-action.js
このアクションは、ページのボタン クリックで実行されます。アクションが発生するのがわかりますが、ストアには何も入りません。SUCCESS
アクション用のカスタム コードを追加してconsole.log()
、応答できましたが、ストアにデータを取得できませんでした。
また、ドキュメントに記載されているのと同じ方法でミドルウェアをストアに追加しました。
configureStore.js
これまでに試した
payload
これまでのところ、アクションをエクスポート可能なシンボルにしてレデューサーで呼び出し、redux-api-middlewareの属性から得られる現在の状態にデータをマージしようとするなど、アクションでさまざまなことを試しましたが、運がない。
質問
私は本当に2つの質問があります
- ドキュメントにレデューサーがないのはなぜですか?これは見過ごされているだけですか?それとも、応答からのデータがストアに直接送られるだけですか?
- 呼び出したデータがストアに追加されないのはなぜですか (何が足りないのですか)?
この問題に関するヘルプ、説明、または建設的な批判は本当に感謝しています。
reactjs - redux-api-middleware でプレーン/テキストをフェッチする
でtxtファイルを取得できますredux-api-middleware
か? はいの場合、どのように?ドキュメントによると、undefined
アプリケーション/JSONに準拠していない場合は本文が設定されていますが、取得するのは単純なテキスト/プレーンです
asynchronous - redux-api-middleware を使用した非同期アクションの連鎖
Redux、redux-thunk、react-router、redux-api-middleware を使用した React アプリがあります。
アプリのページ コンポーネントをレンダリングするには、2 つの API エンドポイントにアクセスし、その結果を redux ストアに保存する必要があります。
現在、両方のアクションを同時にディスパッチしています。これにより、あるアクションの結果が他のアクションよりも先に完了すると、問題が発生します。したがって、2 つ目のアクションをディスパッチする前に、1 つのアクションが完了していることを確認する必要があります。
すべてのドキュメントを読んだ後、redux-api-middleware でこれを実現する方法を理解するのに苦労しています。
これは私の現在のコンポーネントです:
私が試してみました:
catch
しかし、これはの代わりに が呼び出されることにつながりthen
ます。ただし、GET_SETTINGS_SUCCESS アクションは実際には完了しているため、catch が呼び出される理由がまったくわかりません。私は何を間違っていますか?
これはアクションジェネレーターです:
reactjs - 複数のディスパッチ アクションのデバウンス
2 つの別個の API からの結果を必要とするオートコンプリート コンポーネントがあります。両方の API は、オートコンプリートであるため、デバウンスされたピリオドと共に呼び出す必要があります。私はreact-reduxとredux-apiを使用しています。これは私がこれまでに持っているものです。私が返す検索方法を見てください。問題は、コールが 1 つだけ発生することです。
私の AutoCompleteContainer.js で
コンポーネント レベルでデバウンスする必要がありますか? それともここでできますか?
javascript - Next.js と redux-api を動作させる方法 (next-redux-wrapper を使用)
サーバーサイド レンダリング (SSR) を使用するのに苦労していますredux-api
。アプリは、クライアント側レンダリング (CSR) だけで正常に動作します。
SSR が機能するには、Next.js のgetInitialProps
関数でデータを利用できるようにする必要があります。私はnext-redux-wrapper
それを一緒にバインドするために使用しようとしています。
現在のステータス:
少なくとも今はstore
入りましたが、アプリの CSR (前) バージョンにはなかっgetInitialProps
た奇妙なメッセージが表示されます。そしてもちろん空です。Error: only absolute urls are supported
withRedux
this.props.oneLesson.data
makeStore
state
サーバーで生成された呼び出しで=を取得undefined
しています。おそらくそれが手がかりです。
redux-api
また、同様に機能する別のものに置き換えることもできます。
更新 1:すべての URL をフルにすることで、Redux が API エンドポイントにヒットするようになりました。ただし、1 ページのリロードではmakeStore
3 回以上呼び出しが行われ、最初の呼び出しのみに正しいスラッグが含まれます。コンソール出力を参照してください。
更新 2:ブレークスルー: から promise を返すと、getInitialProps
SSR が機能します。これで、クライアント側のレンダリングがうまく機能し、十分に面白くなりました。