問題タブ [redux-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 投票する
1 に答える
3222 参照

reactjs - カスタムミドルウェアで redux-persist を使用する方法

redux-persist 5.10.0 を使用。

公式ドキュメントを使用して構成した後、完全に機能しています。

と:

configureStore.js ファイルからわかるように、axios 用のカスタム ミドルウェアがあります。認証にJWTを使用しています。RECEIVE_LOGINこのミドルウェアは、返されたトークンを axios インスタンスのデフォルト ヘッダーに割り当てることができるように、という名前のアクション定数をチェックします。

しかし、redux-persist のため、action.type からカスタム タイプ - RECEIVE_LOGIN - を取得できません。代わりに persist/PERSIST を取得してから persist/REHYDRATE を取得しています。でカスタム タイプを見つけることさえできませんaction

調べてみましたが、カスタムミドルウェアの例は見つかりませんでした。

私の質問は、redux-persistカスタム ミドルウェアと一緒に使用するにはどうすればよいですか?

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

react-native - react-native - API を呼び出すたびに、redux-thunk ミドルウェアで jwt の有効期限を確認します

私の反応ネイティブアプリでは、サーバーへのすべてのフェッチリクエストの前に、以下のユースケースを実行する必要があることを確認する必要があります

-> redux に保存されているトークンの有効期限を確認します。

--> トークンの有効期限が切れていない場合、アプリはfetchサーバーへの要求を続行します

--> トークンの有効期限が切れた場合、アプリはユーザーに知らされることなく、すぐに新しいリクエストを送信しrefresh tokenます。トークンが正常に更新された後、アプリはfetchサーバーへの要求を続行します

でミドルウェアを実装してみましたredux-thunkが、いい設計かどうかわかりません。ミドルウェア コードの経験がreduxあり、reactフィードバックをくれる人が必要なだけです。

checkTokenAndFetchこれは、アクションクリエーターをディスパッチして、アプリのコンポーネントを介してサーバーにリクエストを送信する方法です。

ここにアクションクリエーターがあります- checkTokenAndFetch私がいるauthActions.jsファイルにありactionsます

トークンの有効期限が切れた場合に呼び出す関数はisTokenExpiredrefreshTokenauthServices.js という名前の別のファイルにあります。

そして、fetchForUFSauthServices.jsの私の関数は、トークンチェック(リフレッシュ)の完了後にサーバーを呼び出します。

redux-thunkredux-promiseおよびドキュメントを大量に読みましたが、middlewareミドルウェアロジックを本当に実装しているかどうかまだわかりませんか?