У меня много проблем с тех пор, как я обновил свой rxjs & firebase до последней версии (6 и 5).
Задача № 1.
Мой магазин больше не работал из-за критического изменения, теперь методтураручная переменная выделена красным, так как метод «Разное»: «Аргумент типа« MonoTypeOperatorFunction »не относится к параметру типа« UnaryFunction, Observable> »».
private store = this.subject.asObservable().pipe(distinctUntilChanged());
Задача № 2.
Я не могу установить в моем магазине новые данные с помощью оператора крана (ранее это делалось)
articles$: Observable<Article[]> = this.db.list(`articles/${this.uid}`).valueChanges()
.pipe(tap(next => {
this.store.set('meals', next);
}));
Мой магазин выглядит как
import { Observable } from 'rxjs/Observable';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { pluck, distinctUntilChanged } from 'rxjs/operators';
import { User } from './app-admin/services/auth.service';
export interface State {
user: User,
[key: string]: any
}
const state: State = {
user: undefined,
meals: undefined
};
export class Store {
private subject = new BehaviorSubject<State>(state);
private store = this.subject.asObservable().pipe(distinctUntilChanged());
get value() {
return this.subject.value;
}
select<T>(name: string): Observable<T> {
return this.store.pluck(name);
}
set(name: string, state: any) {
this.subject.next({ ...this.value, [name]: state });
}
}
Edit:
Благодаря @RonY_Patel.
В настоящее время работает с командой
npm install rxjs-compat@6 --save
и
npm i -g npm-check-updates
ncu -u
npm install
Я получил красное подчеркивание на .do
, но приложение работает и делает то, что я хочу!