ストアへのサブスクライブからデータを取得するコンポーネントがあります。
this.store.select('somedata').subscribe((state: any) => {
this.somedata = state.data;
});
コンポーネントがなくなったときに、このサブスクリプションのサブスクリプションを解除したいのですが、他の場所で、次のような監視可能なものをサブスクライブしています。
this.service.data.subscribe(
(result: any) => {//data}
);
次のように、ngOnOnDestroyで購読を解除しました。
ngOnDestroy(){
this.service.data.unsubscribe();
}
しかし、私ができない店の場合、それは私にエラーを与えます:
Property 'unsubscribe' does not exist on type 'Store<State>'
サブスクライブすると、サブスクリプションオブジェクトを受け取ります。unsubscribe()を呼び出すことができます。
const subscription = this.store.select('somedata').subscribe((state: any) => {
this.somedata = state.data;
});
// later
subscription.unsubscribe();
または
ngOnInit(){
this.someDataSubscription = this.store.select('somedata').subscribe((state: any) => {
this.somedata = state.data;
});
}
ngOnDestroy(){
this.someDataSubscription.unsubscribe();
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加