subscribeしているthis.route.paramsはunsubscribeする必要はない

今回はRxJSでthis.route.paramsをsubscribeしているときに、OnDestroyでunsubscribeする必要はないという話をしていきます。

この記事で対象としているのは、Angular+RxJS環境です。



subscribeしているthis.route.paramsはunsubscribeする必要はない

subscribeしているthis.route.paramsはunsubscribeする必要はない

observableをsubscribeしたときに、とにかくどんな値でも良いからコンポーネントを破棄したときにunsubscribeしなければならないと思いがちですが、そういうわけではありません。

一部の例外では、コンポーネントを破棄したときにunsubscribeしなくても自動でunsubscribeしてくれる場合があります。
その例外の中に、this.route.paramsなどのActivatedRouteがあります。

ActivatedRouteで宣言される変数は、ページのURLが変わったときにガベージコレクションの対象になるようです。

詳しくは下記のstackoverflowをご覧ください。
https://stackoverflow.com/questions/41138081/do-i-have-to-unsubscribe-from-activatedroute-e-g-params-observables

終わりに

今回はRx.jsでthis.route.paramsをsubscribeしているときに、OnDestroyでunsubscribeする必要はないという話をいたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

Youtubeチャンネル開設いたしました。
よろしければチャンネル登録お願いいたします。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






RxJS

Posted by ちこ