Hope you enjoyed the video! I also have a really cool and unique course that will teach you way more than this video. You'll learn how to build an actual complex project with React. It's called "Project React" and you can find it at cosden.solutions/project-react. Also, I have a free weekly newsletter called "Import React" with tutorials, news, and cool stuff about React! You can sign up at cosden.solutions/newsletter?s=ytc
@firekeeper7461 Жыл бұрын
I searched many videos about this hook on my native language but these guys couldn't explain it simple. Thank you!
@faraonch10 ай бұрын
I should have watched this video BEFORE my last two nights! Well explained!
@codecleric49728 ай бұрын
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
@yitzchaksviridyuk932 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@cosdensolutions I hear man. Thanks again!
@tomasburian65503 ай бұрын
I have never seen this hook before and I just ran into it in my company's project. This video helped me a lot to get up to speed. Thanks!
@artursavchuk23638 ай бұрын
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 👍
@SudhanshuShekhar-hh1uj18 күн бұрын
The third parameter of the imperative handle is the dependency array. Include state values you want to track here, like logging the name "Thor" from a parent component defined in a child component. import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react' interface refProp{ logname:()=>void } function Imperitive() { const nameRef = useRef(null) return ( nameRef.current?.logname()}>click ) } const Child = forwardRef((_,ref:Ref)=>{ const [name,setName]=useState("") function logname(){ console.log(name); } //this funciton will reamin same after firt render so to run agin useImperativeHandle(ref,()=>{ return{ logname } },[name]) return( name is :{name} setName(e.target.value)}> ) }) export default Imperitive Thank you, Cosden. One day, I want to be a developer like you, so sorted with the knowledge you have. Respect!
@pauloviniciuscoral11289 ай бұрын
And this also helps with the Single responsibility principle. Great video.
@AfifAlfiano28 күн бұрын
Great explanation, thank you
@LobbanVlogsАй бұрын
I was going crazy figuring out how to get this working with HTML Elements. Second part of this video was crucial for me since I wanted to get my types correct. I was mixing up the Parent and Child refs. Thanks Bredda!!!
@smokinjoe300010 ай бұрын
holy moly, this is such a great react hook! once again, you teach me something new every day
@DamerlaPravallikaАй бұрын
very well explained
@jingyazeng58342 ай бұрын
omg This is really helpful! THANK YOU!
@farhadkhoshnoodi79543 ай бұрын
I saved this video... was awesome...
@opencode17 ай бұрын
Really love this type of videos, basic css but big functinality explanation. thank you for your effort
@pallavidas2648 Жыл бұрын
Amazing.. you made it so simple to understand! Thank you.
@rohansachdeva6274 ай бұрын
super clear man!
@ichigoplayss376 Жыл бұрын
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
@cosdensolutions Жыл бұрын
Thank you for the kind words!
@TheHumanistX Жыл бұрын
lol love the slide-in of the subscribe pitch ;)
@cosdensolutions Жыл бұрын
☺️
@ytra1001 Жыл бұрын
Thanks you make things look simple
@camilo58215 ай бұрын
With context is so useful
@icoderdev Жыл бұрын
Cosden ❤...was out for a while. Hope i didn't miss alot.😊
@monterourena Жыл бұрын
Thank you so much for sharing this incredibly useful hook! I wish I had known about it sooner. Your content is a masterpiece
@PalladinGOLD10 ай бұрын
Your videos are awesome. Thanks
@TausifShekh-j5x Жыл бұрын
Great content cosden
@prafullkumar63698 ай бұрын
Very nice video 👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏🤟🤟🤟🤟🤟 Love it. very use ful
@icoderdev Жыл бұрын
Once in a life time ❤❤❤
@bismarckkaine2700 Жыл бұрын
Great job homie
@a.murshed813610 ай бұрын
Great tutorial as usual. I have a question here, what is the difference if the child function is defined with ForwardRef or without?
@Txous772 ай бұрын
If I understand correctly, this would be kind of the opposite to useContext (where you pass a piece of data from up to down without prop drilling)?
@ExtraTurtle10 ай бұрын
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?
@prashlovessamosa Жыл бұрын
Thanks for making this.
@elozinoovedhe Жыл бұрын
Well explained!!!
@hikki25668 ай бұрын
Thanks!
@lukasluftlaufer1093 Жыл бұрын
Amazing. Thanks for the great explanation!
@swdotdev Жыл бұрын
Great content again! Thank you very much dude!
@CodingEnjoyer4 ай бұрын
Impressive !!
@clasesutnfrc869910 ай бұрын
02:38 Expose child's method to parent 03:34 Expose child's method to parent | useImperativeHandle
@vasiapypochkin32419 ай бұрын
Привет, в setCount можно было передавать callback, аргумент которого является prevState. для гарантии того что count является актуальным значением. p.s. спасибо за видео :D
@MEZOMEZO2011 Жыл бұрын
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 Жыл бұрын
Yeah that's exactly what I meant! I didn't form it properly 😅
@JacksonDiKey Жыл бұрын
Cool stuff! Can u pls simply explaine how forwardRef working? it's a little bit tricky for use. Thnks!
@emaaadelgado8 ай бұрын
is there any way to detect the changes on the child from the parent? using this way..
@badishammadache2922 Жыл бұрын
great video
@nguyenvannhat51149 ай бұрын
Please help. My current in ref of parent always null.
@Vishal36011 ай бұрын
Straight to damnn mind
@Vishal36011 ай бұрын
Subscribed 🤗
@Shanksther3d Жыл бұрын
Really enjoyed this video, very instructive 🙏🔥🔥 keep going. Ps: isSubrscribed(true) 😂👍
@cosdensolutions Жыл бұрын
❤️
@HAROLDDELROSARIO-j5c Жыл бұрын
What if I pass the function as a property of the counter component? Is it better or not? Beginner nyehehe
@cosdensolutions Жыл бұрын
I go over this in the video :D
@snatvb Жыл бұрын
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
@cordial Жыл бұрын
Good explainer as ever. This seems rather anti-pattern, im not entirely sure in what instance it would be ok to use it.
@cosdensolutions Жыл бұрын
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
@saqibmuhammad7218 Жыл бұрын
what is meaning by cha-cha \
@Ravi_Kaushik_Vlogs Жыл бұрын
please creata a video of usecallback and usememo and react.memo with child component
@cosdensolutions Жыл бұрын
Already did ☺️
@goblinmoblin48695 ай бұрын
I love you
@joshuasingh854 Жыл бұрын
"This is counter-intuitive" - heh
@cosdensolutions Жыл бұрын
hahahaha
@nikhiljadhav7666 Жыл бұрын
Speak slowly , You are speaking so fast cant change playback speed then it becomes very slow , speak slowly then you will get subscribe 😅