私のシナリオでは、ユーザーはバウチャーを利用することができます。彼女はログインしていないが、引き続きどのように機能しているかを理解するために償還機能をテストすることができる。2つのredux-sagaフローの切り替え
彼女がログインしていないケースでloggedInRedeemFlow
は彼女がログインしているとき、私は2が流れ、ケースのためnotLoggedInRedeemFlow
を持っている。
私はルート佐賀に持って、それは一つのフローを開始し、に基づいて、他を停止する必要がありますユーザーのログイン状態。
このフローでは、1つのフローとcancellation
アクションの間でレースを使用することができました。ユーザがログアウトするまで、アプリnotLoggedInRedeemFlow
を起動時に
はアクティブであり、ときにユーザーがログインし、それが終了する必要があります。その後
loggedInRedeemFlow
開始され、実行されます。
function* redeemFlows() {
while (true) {
const result = yield race({
fake: call(notLoggedInRedeemFlow),
gotAccessToken: take([accountActions.LOGIN_SUCCESS, accountActions.START_SIGNUP_SUCCESS]),
})
yield race({
run: call(loggedInRedeemFlow, result.gotAccessToken.payload.access_token),
logout: take(accountActions.LOGOUT_SUCCESS),
})
}
}
私の質問は、それがredux-sagasでこのようなシナリオを処理する最善の方法であるかどうかです。