問題タブ [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.
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
reactjs - Redux Promise Middleware で追加のメタデータを渡すにはどうすればよいですか?
Redux Promise Middleware では、次のようにアクションを記述します。
残念ながら、redux-promise-middleware は、「WITHDRAW_PENDING」、「WITHDRAW_FULFILLED」、または「WITHDRAW_REJECT」のいずれにも「id」を渡しません。ペイロードのプロミスのみをアクション レデューサーに渡します。
実際の環境では、更新するアイテムがたくさんあり、各アイテムには識別用の ID があります。指定したアイテムを更新するには「id」を使用する必要がありますが、Redux Promise Middleware ではどうですか?
reactjs - Redux-thunk および redux-promise: PENDING 状態の空のペイロード
redux-thunk
設定が完了し、updateUser(userInfos)
アクションを呼び出すと、それらの情報でサーバーを更新するという約束が返されます。
しかし、これらの情報を使用してローカルの状態も順次更新する必要がUPDATE_USER_FULFILLED
あります。
サーバーの応答が最新のデータで到着する前UPDATE_USER_PENDING
にローカル状態を更新するアクションを減らすことを考えました(これは同じであるため、再レンダリングはありません)が、残念ながら、アクションは:(payload
UPDATE_USER_PENDING
null
サーバーが戻る前にUIの応答を即座に許可するデータをロードする方法はありませんか?
次のようなものかもしれません:
しかし、これは利用できないと思いますか?
今のところ、私が見る唯一の解決策はUPDATE_USER_LOCAL
、サーバー呼び出しと並行してローカル アクションを実行するアクションを作成することです。しかし、これはあまりエレガントではなく、はるかに重いです。
助けてくれてありがとう