ページの読み込み時にユーザーを認証するロジックを実装したいと考えています。最初は、Cookie にトークン (checkUserToken
) があるかどうかを確認し、存在するかどうかを確認したいと考えていました。トークンが存在するかどうかを確認するために、将来のリクエストを行う別の関数 (fetchUserData
) を呼び出しました。サーバ。最後に、サーバーが応答すると、3 番目の関数 (setUserData
) が呼び出され、userData
同様の機能をスライスに実装するにはどうすればよいですか?
P粉4594409912023-09-18 00:41:32
Reducer 関数は純粋な関数であり、アクションのディスパッチなどの副作用は実行しません。 checkUserToken
はアクションをディスパッチできず、fetchUserData
は関数値を返すことができません。 checkUserToken
と fetchUserData
は実際には非同期アクションであるように思えます。彼らのために サンク アクション を作成します。
fetchUserData
アクションは Cookie/トークンに直接アクセスでき、fetchUserData.fulfilled
リデューサー ケースはユーザー データのステータスを設定/更新することもできることに注意してください。これは、setUserData
および checkUserToken
アクションが不要な可能性があることを意味します。