Нужно ли мне отписаться от Ngrx Select - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть компонент, как показано ниже, где у меня есть кнопка, вызывающая select_property при нажатии. Дело в том, что я не уверен, нужно ли мне каким-либо образом отписываться перед переназначением $livevisitors на каждый клик, не уверен, что $livevisitors | async в шаблоне компонента это работает для меня.

export class LiveComponent{

    livevisitors$: Observable<LiveVisitor[]>;
    selected_property_id: number = 0;

    constructor(
            private store: Store<AppState>
        ) {

        this.livevisitors$ = this.store.select(selectAllLiveVisitors);

    }

    select_property(id){
        this.selected_property_id = id;

        if (id == 0){
            this.livevisitors$ = this.store.select(selectAllLiveVisitors);
        } else {
            this.livevisitors$ = this.store.select(selectLiveVisitorsByPropertyId, {property_id: id});
        }
    }

1 Ответ

2 голосов
/ 22 апреля 2020

Труба asyn c подписывается и отписывается для вас. Вам не нужно управлять отменой подписки.

Из официальной документации :

Когда компонент уничтожается, асинхронный канал c автоматически отписывается, чтобы избежать потенциальных утечки памяти.

...