В следующем эпосе я слушаю поток действия $, а затем также слушаю поток авторизации authState(app.auth())
export const fetchAuthStatus = action$ =>
action$.pipe(
ofType(AUTH_STATUS_CHECKED),
switchMap(() => authState(app.auth())),
switchMap(user =>
user
? of({ type: 'SIGNED_IN', payload: user })
: signIn(googleAuthProvider)
),
catchError(error => console.log('problems signing in'))
);
Работает как положено, единственная проблема в том, что если я изменю статус авторизации, выйдя из системы, то эпический вызовет метод signIn()
, поскольку user
больше не доступен.
Как мне перестать слушать authState(app.auth())
после того, как я вошел в систему. Куда логика отписки уходит в эпос?