Я смотрел Учебное пособие, которое было сделано около года назад, где создается Redux-Firebase-Angular Authentication.
В частности, меня смущает одна функция:
Мы импортируем Actions
из @ngrx/effects
и еще кое-что и записываем следующий код в user.effects.ts
:
@Injectable()
export class UserEffects {
constructor(private actions: Actions, private angularFireAuth: AngularFireAuth) {}
@Effect()
getUser: Observable<Action> = this.actions.ofType(userActions.GET_USER)
.map((action: userActions.GetUser) => action.payload)
.switchMap(payload => this.angularFireAuth.authState)
.delay(2000) // just to show some loading stuff
.map( authData => {
if (authData) {
// User is logged in
const user = new User(authData.uid, authData.displayName);
return new userActions.Authenticated(user);
}
});
}
Кажется, все работает, кроме функции ofType (), которая, похоже, не найдена.
Я пару раз просматривал видео и самостоятельно искал обновления или устаревшие версии, но ничего не нашел.
Учебник, о котором я говорил (создан Fireship): https://www.youtube.com/watch?v=wOLF-3wNQh8
К сожалению, он вообще ничего не говорит о .ofType (), поэтому я даже не понимаю, что это такое и как я могу его заменить.
Любая помощь приветствуется.
Редактировать: Итак, я добавил импорт import 'rxjs/add/observable/ofType';
, который не помог, а также импортировал import { ofType } from 'redux-observable';
, который не помогает.
Это приводит к вопросу, можете ли вы вместо этого помочь мне найти обходной путь для этого фрагмента, так как я до сих пор не совсем понимаю, что это должно делать.
Редактировать: я нашел руководство по переходу на Redux-Observable: https://redux -observable.js.org / MIGRATION.html , где есть изменение, сделанное из 'typeOf ()' в 'pipe ( ) 'с внутренним' typeOf ', но мне кажется, что я не могу настроить свой фрагмент кода, чтобы он работал, было бы замечательно, если бы вы могли помочь мне перестроить этот фрагмент кода в соответствии с внесенными изменениями.