Learn React Hooks: useImperativeHandle - Simply Explained!

Sdílet
Vložit
  • čas přidán 22. 08. 2023
  • Join The Discord! → discord.cosdensolutions.io
    Source Code → github.com/cosdensolutions/co...
    In this video we will learn about React hooks, starting with useImperativeHandle. This powerful React hook will allow you to expose certain functions from a child component to the parent component via a ref. It is extremely useful in situations where you want to call some behaviour in a child from a parent without explicitly providing a callback from the parent. In this video, we look at all of the use cases for useImperativeHandle and how it works!
    In this new React world, hooks are here to stay, so it's best to learn them! In this tutorial I demonstrate the useRef React hook, and I explain it very simply and in a way that is easy to understand. Enjoy!

Komentáře • 58

  • @codecleric4972
    @codecleric4972 Před 3 měsíci +2

    A senior engineer at my job implemented a solution with this to solve a problem I was racking my brain over. It's really powerful and good to know about. This needs to be common knowledge

  • @firekeeper7461
    @firekeeper7461 Před 9 měsíci +1

    I searched many videos about this hook on my native language but these guys couldn't explain it simple. Thank you!

  • @cosdensolutions
    @cosdensolutions  Před 4 měsíci +1

    Hey everyone! I just launched 🚀 Project React, which is a course that teaches you React by building a real-world project. It goes way beyond what you see in these videos and walks you through step-by-step on how to build a big and complex application with React! You can check it out here: cosden.solutions/project-react

  • @yitzchaksviridyuk932
    @yitzchaksviridyuk932 Před 11 měsíci +6

    Dude are you kidding me? I didn't know this existed, so at one point, I actually implemented an event bus class just to allow the parent to rerender specific children. I really didn't want to make the class, since I didn't want to start doing things that weren't "React-y" which could confuse other devs; but I didn't think I had a choice. I also did a ton of searching, but maybe I didn't ask the right questions, since I only kept seeing people say that I need to lift the state up etc. Either way, thanks a lot for this video. I kept thinking, "It's so weird React doesn't have a built in way to solve this issue." Good to know that isn't the case. 😄

    • @cosdensolutions
      @cosdensolutions  Před 11 měsíci +5

      haha yeah, it's not that popular unfortunately, and a lot of people don't know it exists. I myself only found out about it at the beginning of this year hahah

    • @yitzchaksviridyuk932
      @yitzchaksviridyuk932 Před 11 měsíci

      @@cosdensolutions I hear man. Thanks again!

  • @pallavidas2648
    @pallavidas2648 Před 7 měsíci +1

    Amazing.. you made it so simple to understand! Thank you.

  • @lukasluftlaufer1093
    @lukasluftlaufer1093 Před 11 měsíci

    Amazing. Thanks for the great explanation!

  • @faraonch
    @faraonch Před 5 měsíci

    I should have watched this video BEFORE my last two nights! Well explained!

  • @ytra1001
    @ytra1001 Před 7 měsíci

    Thanks you make things look simple

  • @monterourena
    @monterourena Před 7 měsíci

    Thank you so much for sharing this incredibly useful hook! I wish I had known about it sooner. Your content is a masterpiece

  • @smokinjoe3000
    @smokinjoe3000 Před 5 měsíci

    holy moly, this is such a great react hook!
    once again, you teach me something new every day

  • @user-tu1lx6vz9p
    @user-tu1lx6vz9p Před 11 měsíci

    Great content cosden

  • @swdotdev
    @swdotdev Před 11 měsíci

    Great content again! Thank you very much dude!

  • @pauloviniciuscoral1128
    @pauloviniciuscoral1128 Před 4 měsíci

    And this also helps with the Single responsibility principle.
    Great video.

  • @opencode1
    @opencode1 Před 2 měsíci

    Really love this type of videos, basic css but big functinality explanation. thank you for your effort

  • @camilo5821
    @camilo5821 Před 24 dny

    With context is so useful

  • @prashlovessamosa
    @prashlovessamosa Před 11 měsíci

    Thanks for making this.

  • @elozinoovedhe
    @elozinoovedhe Před 9 měsíci

    Well explained!!!

  • @PalladinGOLD
    @PalladinGOLD Před 4 měsíci

    Your videos are awesome. Thanks

  • @artursavchuk2363
    @artursavchuk2363 Před 3 měsíci

    omg, I have thought so many times about this functionality, and I was so disappointed that react can't do it. Thank you so much for this information, this is very useful 👍

  • @hikki2566
    @hikki2566 Před 3 měsíci

    Thanks!

  • @ichigoplayss376
    @ichigoplayss376 Před 10 měsíci

    Great video, I've been following your TikTok for a while and learned much from you. I just realized that I haven't subscribed yet. Keep up the good work

  • @icoderdev
    @icoderdev Před 10 měsíci

    Once in a life time ❤❤❤

  • @bismarckkaine2700
    @bismarckkaine2700 Před 10 měsíci

    Great job homie

  • @icoderdev
    @icoderdev Před 10 měsíci

    Cosden ❤...was out for a while. Hope i didn't miss alot.😊

  • @badishammadache2922
    @badishammadache2922 Před 11 měsíci

    great video

  • @TheHumanistX
    @TheHumanistX Před 10 měsíci

    lol love the slide-in of the subscribe pitch ;)

  • @prafullkumar6369
    @prafullkumar6369 Před 3 měsíci

    Very nice video 👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏🤟🤟🤟🤟🤟 Love it. very use ful

  • @ExtraTurtle
    @ExtraTurtle Před 5 měsíci +1

    If I put the entire "counter" state in the parent, it would make every child component re-render, even when It doesn't use that state
    does this also happen with useImperativeHandle?
    When you click the button that runs counterRef.current.reset() will it also re-render the entire parent component? or is this also used as React.memo of some sort?

  • @vasiapypochkin3241
    @vasiapypochkin3241 Před 4 měsíci

    Привет, в setCount можно было передавать callback, аргумент которого является prevState. для гарантии того что count является актуальным значением.
    p.s. спасибо за видео :D

  • @JacksonDiKey
    @JacksonDiKey Před 10 měsíci

    Cool stuff! Can u pls simply explaine how forwardRef working? it's a little bit tricky for use. Thnks!

  • @a.murshed8136
    @a.murshed8136 Před 5 měsíci

    Great tutorial as usual. I have a question here, what is the difference if the child function is defined with ForwardRef or without?

  • @cheikhkebe3735
    @cheikhkebe3735 Před 11 měsíci

    Really enjoyed this video, very instructive 🙏🔥🔥 keep going. Ps: isSubrscribed(true) 😂👍

  • @Vishal360
    @Vishal360 Před 6 měsíci

    Straight to damnn mind

  • @emaaadelgado
    @emaaadelgado Před 3 měsíci

    is there any way to detect the changes on the child from the parent? using this way..

  • @MEZOMEZO2011
    @MEZOMEZO2011 Před 11 měsíci +1

    I understood the concept but don't see how this will help in closed library components. Here you still needed to change the Counter component to be able to add the useImperative and accept the Ref as props. Or are you saying that the component in the library itself will have that set up by default?

    • @cosdensolutions
      @cosdensolutions  Před 11 měsíci

      Yeah that's exactly what I meant! I didn't form it properly 😅

  • @nguyenvannhat5114
    @nguyenvannhat5114 Před 4 měsíci

    Please help. My current in ref of parent always null.

  • @clasesutnfrc8699
    @clasesutnfrc8699 Před 5 měsíci

    02:38 Expose child's method to parent

  • @user-jf2jy2ot4m
    @user-jf2jy2ot4m Před 10 měsíci

    What if I pass the function as a property of the counter component? Is it better or not? Beginner nyehehe

  • @snatvb
    @snatvb Před 9 měsíci

    it's not so good concept as you think and makes inverted control that usually leads to a lot of bugs
    better is to create context and provide state with api from that
    useImperativeHandle needs to extends api of video tag for example, for make adapters

  • @goblinmoblin4869
    @goblinmoblin4869 Před 11 dny

    I love you

  • @saqibmuhammad7218
    @saqibmuhammad7218 Před 7 měsíci

    what is meaning by cha-cha
    \

  • @cordial
    @cordial Před 9 měsíci

    Good explainer as ever. This seems rather anti-pattern, im not entirely sure in what instance it would be ok to use it.

    • @cosdensolutions
      @cosdensolutions  Před 9 měsíci +1

      Yeah I get the anti pattern vibes but there are a lot of use cases! Most 3rd party libraries do it and also if you make some component you need to trigger from above this is great

  • @Ravi_Kaushik_Vlogs
    @Ravi_Kaushik_Vlogs Před 11 měsíci

    please creata a video of usecallback and usememo and react.memo with child component

  • @joshuasingh854
    @joshuasingh854 Před 11 měsíci

    "This is counter-intuitive" - heh

  • @nikhiljadhav7666
    @nikhiljadhav7666 Před 10 měsíci

    Speak slowly , You are speaking so fast cant change playback speed then it becomes very slow , speak slowly then you will get subscribe 😅

  • @icoderdev
    @icoderdev Před 10 měsíci

    Once in a life time ❤❤❤