Кажется, вы используете библиотеку Ngxs для управления состоянием с декоратором Select
для извлечения фрагмента состояния.
@Select
возвращает простое observable
, и не BehaviorSubject
. Ваша декларация должна быть:
@Select(UserPageState.get('collection')) users$: Observable<User[]>;
или с Partial<User>[]
, но у меня нет сведений о вашей реализации
Так что, если вы просто хотите отфильтровать пользователей, полученных этим селектором:
export class YourComponent {
@Select(UserPageState.get('collection')) users$: Observable<User[]>;
filteredUsers$: Observable<User[]>;
ngOnInit() {
const USER = this.creds.credentials['id'];
this.filteredUsers = this.users$.pipe(
map(users => users.filter(user => user.id !== USER))
);
this.store.dispatch(new UserPageList({ start: 1, length: this.pageSize }));
}
}
в вашем шаблоне:
<ul>
<li *ngFor="let user of filteredUsers$ | async">
{{ user.name }}
</li>
</ul>
Обратите внимание, что вам, вероятно, следует подумать о создании выделенного селектора и добавить USER
в свой магазин тоже.