The new DestroyRef Provider in Angular 16 (2023)

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024

Комментарии • 45

  • @DecodedFrontend
    @DecodedFrontend  Год назад +1

    💡 Short Frontend Snacks (Tips) every week here:
    Twitter - twitter.com/DecodedFrontend
    Instagram - instagram.com/decodedfrontend
    LinkedIn - www.linkedin.com/in/dmezhenskyi

  • @gonzalocorchon6509
    @gonzalocorchon6509 Год назад +7

    Another great video, you never fail to surprise me with your content. You're becoming the "source of truth" in the Angular world.

  • @MrKOHKyPEHT
    @MrKOHKyPEHT Год назад +5

    0:33 that was exact my reaction :D

  • @chengxiaoxia8046
    @chengxiaoxia8046 Год назад +2

    Thanks so much. You continue uploading great tutorial videos. You always give a clear explanation of the abstract concept. Your pronunciation becomes far better than one year ago. Congrats

    • @DecodedFrontend
      @DecodedFrontend  Год назад

      I am glad to hear that! Thank you for the feedback 😊

  • @souravjana8312
    @souravjana8312 2 месяца назад

    Great video. clear everything now

  • @magda77850
    @magda77850 Год назад +4

    takeUntilDestroyed is something we really needed to remove a lot of boilerplate code :D

  • @innocentmazando3808
    @innocentmazando3808 Год назад +1

    Thanks for a great lesseon @Dmytro.
    Thanks for giving us the context on the use case of the DestroyRef, cant wait to push our company projects to Angular v16 to try this staff

  • @malekitani3136
    @malekitani3136 Год назад +1

    nice indepth explanation, thank you. keep it up

  • @loko1944
    @loko1944 Год назад +2

    As always tons of awesome info and as always I learned something completely not relevant to this topic. Didn't know we can call baseComponent's method by using super....
    I think this is the problem for many self learners - sometimes we just miss something completely

  • @volodimiryemshyn715
    @volodimiryemshyn715 Год назад +1

    good approach thanks you for your examples

  • @chekitdnb
    @chekitdnb Год назад +2

    Thanks

    • @DecodedFrontend
      @DecodedFrontend  Год назад

      Thank you for your support! I appreciate it soo much :)

  • @MrKOHKyPEHT
    @MrKOHKyPEHT Год назад +1

    I should definitely add this video into favourites. Too much useful information for me. Especially considering that our project gonna be updated to Angular v16

  • @PauloSantos-yu1tn
    @PauloSantos-yu1tn Год назад +1

    Very cool new features.

  • @ilyatelefus3647
    @ilyatelefus3647 Год назад +1

    Great video as always 👍🏼

  • @demidovmaxim1008
    @demidovmaxim1008 Год назад +1

    Thank you for this video!

  • @chengxiaoxia8046
    @chengxiaoxia8046 Год назад +1

    Merci!

    • @DecodedFrontend
      @DecodedFrontend  Год назад

      Wow, thank you so much for your support 🙏 it is invaluable 😊

  • @huytranthanh9029
    @huytranthanh9029 Год назад +1

    time to drop some 3rd libs, thank you for sharing

  • @krzysztofprzybylski2750
    @krzysztofprzybylski2750 Год назад +1

    Nice feature. And a useful one. Also a great explanation! I have a question though: I was taught to use "subscription.add(observable)" and then call "subscription.unsubscribe()" in ngOnDestroy. That is all instead of "takeUntill" pattern. Is there a difference between those two? If so then what is it and why use one over the other?

    • @innocentmazando3808
      @innocentmazando3808 Год назад

      Hey, not Dymtro here but here is my 2 cents. So takeUntil can be used even in instances where you do not want to destroy the component specifically.
      Last time I did so was when I was refreshing a page by button clicks. So when I click the refresh button the system had to stop all running http calls to the backend and restart again. So on the forkJoin making the calls I piped the takeUntil such that when I click the button, the subject emits first then calls cancel and then I would run the fetches again.
      In short, takeUntil allows you to destroy observables even without destroying the component

  • @pdela72
    @pdela72 Год назад +1

    Will certainly experiment with this later today, but do you already know if destroyref can be used inside any class (non angular decorated class, not a component, nor directive, etc.) like i e. a User class, to perform clean up logic when the class instance is destroyed?

    • @DecodedFrontend
      @DecodedFrontend  Год назад +3

      As far as I know it won't work with a regular class. You would need to annotate it with @Injectable() because otherwise you won't be able to inject into this class anything (including the DestroyRef)

    • @pdela72
      @pdela72 Год назад

      @@DecodedFrontend Thanks. Haven't tried myself yet, but I bet you are right. I'm using classes that extends FormGroups or FormArray to encapsulate business logic in it. Sometimes I have to subscribe to observables inside the class, thus I have the problem of manually unsubscribing from outside the class when a control is removed from the form... Do you think decorating them as @Injectable could lead to performance issues? I might have several of these controls in a single form.

  • @ADITYABADDUR
    @ADITYABADDUR Год назад

    Which is better to use: takeUntilDestroyed() or DestroyRef, and why?

  • @03mylol
    @03mylol Год назад +1

    how does destroyRef understands when to destroy? For example, at the 4:58, we use it as outter function but it somehow understands when our component destroyed

    • @DecodedFrontend
      @DecodedFrontend  Год назад +1

      it is because inject() function is called in context of component and tries to resolve the "closest" provider for DestroyRef token which comes from component injector, so it gets the reference to the DestroyRef accosiated with this component.

  • @luischavez190
    @luischavez190 Год назад +1

    That intro 😂 good explanation thanks

  • @shayanghazali
    @shayanghazali Год назад

    i have a question and it is not about this video.
    - how can i make @angular/core package local in my angular project and use it as a local package in my project? , so that i can discover more in it also work on it

  • @mkez001
    @mkez001 4 месяца назад +1

    Why don't we need to put DestroyRef in providers array?

    • @DecodedFrontend
      @DecodedFrontend  4 месяца назад +1

      Angular resolves it automatically under the hood, so you don't have to provide it manually each time. The same is true for ViewContainerRef, ElementRef, and some other tokens.

  • @kramatanga
    @kramatanga Год назад

    How to open rxjs operators implementation code ?

  • @brucearmstrong5536
    @brucearmstrong5536 Год назад

    idk what they are trying to do with this feature though to be honest,
    reducing boilerplate ?
    the custom function .onDestroy for this reference feature is unnecessarily complex to be frank
    hope they dont remove onDestroy lifecycle hook
    i don't mind adding a boiler plate for subject and function

  • @chandanamadurangamunasingh6498

    Hey, is it reasonable to move to Angular 16, Do all libraries support Angular 16

  • @gagiksimonyan3782
    @gagiksimonyan3782 Год назад +1

    Thanks for another useful video, Dmytro and especially for Khaby Lame part)

  • @adambickford8720
    @adambickford8720 Год назад

    Maybe I'm missing something, but this feels terrible. It's basically inheritance in disguise and now mandates angular for even simple object creation due to injection coupling.

  • @pedrinhofernandes
    @pedrinhofernandes Год назад +1

    It's is a good "native" replacement for www.npmjs.com/package/@ngneat/until-destroy
    Looking forward to replace it once our project migrates to v16