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