問題タブ [redux-promise-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.

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

reactjs - 未処理の拒否 (TypeError): this.props.dispatch(...).then は関数ではありません

redux-thunk と redux-promise を一緒に使用していますが、どういうわけか redux-thunk ミドルウェアが呼び出されず、エラーが発生します。

これが私のセットアップです

これが私のアクションクリエイターです

これは、別のコンポーネントをレンダリングする高次 AUTH コンポーネントであり、ルートを変更したい結果に基づいて、ComponentDidMount でアクションをディスパッチした後です。

最後に、これは私が得るエラーです。

https://imgur.com/a/nTnv9khまたはhttps://prnt.sc/tkcs0m

(未処理の拒否 (TypeError): this.props.dispatch(…).then は関数ではありません)

ComponentDidMount で .then() を使用しないと、未定義になります。また、.then() を追加して AXIOS リクエスト内でディスパッチすると、これは別のエラーになります。

(エラー: アクションはプレーン オブジェクトである必要があります。非同期アクションにはカスタム ミドルウェアを使用してください。) https://imgur.com/a/czlvHBjまたはhttps://prnt.sc/tkcsqy

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

reactjs - Redux Promise Middleware で追加のメタデータを渡すにはどうすればよいですか?

Redux Promise Middleware では、次のようにアクションを記述します。

残念ながら、redux-promise-middleware は、「WITHDRAW_PENDING」、「WITHDRAW_FULFILLED」、または「WITHDRAW_REJECT」のいずれにも「id」を渡しません。ペイロードのプロミスのみをアクション レデューサーに渡します。

実際の環境では、更新するアイテムがたくさんあり、各アイテムには識別用の ID があります。指定したアイテムを更新するには「id」を使用する必要がありますが、Redux Promise Middleware ではどうですか?

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

reactjs - Redux-thunk および redux-promise: PENDING 状態の空のペイロード

redux-thunk設定が完了し、updateUser(userInfos)アクションを呼び出すと、それらの情報でサーバーを更新するという約束が返されます。

しかし、これらの情報を使用してローカルの状態も順次更新する必要がUPDATE_USER_FULFILLEDあります

サーバーの応答が最新のデータで到着するUPDATE_USER_PENDINGにローカル状態を更新するアクションを減らすことを考えました(これは同じであるため、再レンダリングはありません)が、残念ながら、アクションは:(payloadUPDATE_USER_PENDINGnull

サーバーが戻る前にUIの応答を即座に許可するデータをロードする方法はありませんか?

次のようなものかもしれません:

しかし、これは利用できないと思いますか?

今のところ、私が見る唯一の解決策はUPDATE_USER_LOCAL、サーバー呼び出しと並行してローカル アクションを実行するアクションを作成することです。しかし、これはあまりエレガントではなく、はるかに重いです。

助けてくれてありがとう