問題タブ [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.
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
カスタム ミドルウェアと一緒に使用するにはどうすればよいですか?
react-native - react-native - API を呼び出すたびに、redux-thunk ミドルウェアで jwt の有効期限を確認します
私の反応ネイティブアプリでは、サーバーへのすべてのフェッチリクエストの前に、以下のユースケースを実行する必要があることを確認する必要があります
-> redux に保存されているトークンの有効期限を確認します。
--> トークンの有効期限が切れていない場合、アプリはfetch
サーバーへの要求を続行します
--> トークンの有効期限が切れた場合、アプリはユーザーに知らされることなく、すぐに新しいリクエストを送信しrefresh token
ます。トークンが正常に更新された後、アプリはfetch
サーバーへの要求を続行します
でミドルウェアを実装してみましたredux-thunk
が、いい設計かどうかわかりません。ミドルウェア コードの経験がredux
あり、react
フィードバックをくれる人が必要なだけです。
checkTokenAndFetch
これは、アクションクリエーターをディスパッチして、アプリのコンポーネントを介してサーバーにリクエストを送信する方法です。
ここにアクションクリエーターがあります- checkTokenAndFetch
私がいるauthActions.jsファイルにありactions
ます
トークンの有効期限が切れた場合に呼び出す関数はisTokenExpired
、refreshToken
authServices.js という名前の別のファイルにあります。
そして、fetchForUFS
authServices.jsの私の関数は、トークンチェック(リフレッシュ)の完了後にサーバーを呼び出します。
redux-thunk
、redux-promise
およびドキュメントを大量に読みましたが、middleware
ミドルウェアロジックを本当に実装しているかどうかまだわかりませんか?