検索

ホームページ  >  に質問  >  本文

アクション内でアクションを実行する: ネストされたアクションを活用して、次の Redux に違いをもたらします。

ページの読み込み時にユーザーを認証するロジックを実装したいと考えています。最初は、Cookie にトークン (checkUserToken) があるかどうかを確認し、存在するかどうかを確認したいと考えていました。トークンが存在するかどうかを確認するために、将来のリクエストを行う別の関数 (fetchUserData) を呼び出しました。サーバ。最後に、サーバーが応答すると、3 番目の関数 (setUserData) が呼び出され、userData

にユーザー データが設定されます。 リーリー

同様の機能をスライスに実装するにはどうすればよいですか?

P粉614840363P粉614840363436日前484

全員に返信(1)返信します

  • P粉459440991

    P粉4594409912023-09-18 00:41:32

    Reducer 関数は純粋な関数であり、アクションのディスパッチなどの副作用は実行しません。 checkUserToken はアクションをディスパッチできず、fetchUserData は関数値を返すことができません。 checkUserTokenfetchUserData は実際には非同期アクションであるように思えます。彼らのために サンク アクション を作成します。

    ###例:### リーリー

    fetchUserData

    アクションは Cookie/トークンに直接アクセスでき、fetchUserData.fulfilled リデューサー ケースはユーザー データのステータスを設定/更新することもできることに注意してください。これは、setUserData および checkUserToken アクションが不要な可能性があることを意味します。

    返事
    0
  • キャンセル返事