Mastering React's useEffect

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

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

  • @joonkim9302
    @joonkim9302 2 года назад +124

    This is by far one of the most useful videos I have watched over my 10 years of youtube watching career. seriously. I wathced it twice yesterday, didn't get it. Rewatched today and get everything. Absolutely great video.

    • @jherr
      @jherr  2 года назад +4

      Wow, thanks!

    • @ToddDunning
      @ToddDunning 2 года назад +3

      Joon I see your 3 watch attempts and raise you two.

    • @zmrzlinazmrzlina2094
      @zmrzlinazmrzlina2094 2 года назад

      @@jherr Thanks for code included!

    • @yawn74
      @yawn74 4 месяца назад

      I just watched this, and this video is trash literally there is no point to call use effect here when you can literally remove useEffect and call them normally.

  • @Crevulus
    @Crevulus 2 года назад +97

    I thought I'd just about mastered useEffect but this taught me even more. Especially about what react does under the hood. Your videos are a goldmine.

  • @sayeddileri3461
    @sayeddileri3461 21 день назад +1

    For those slightly confused about what exactly he means by references…put simply a reference is just the address of a memory block.
    For example, your variable which is assigned to an object doesn’t hold the actual definition of that object, it holds the value of the memory address which contains the stored object.
    So it’s just pointing to that memory address block which contains the object.
    If I assign variable X to variable Y which is assigned to an object, then variable X is simply pointing to the same memory address as variable Y.
    Hence why variable X can mutate the original object defined by variable Y.
    JavaScript Objects, functions, arrays and other composite types like dates, sets, maps and etc…

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

    Kudos to RUclips algorithm for recommending this gold mine!! Every time I re-watch the same lecture, I learn something new from it. Even the shorts are too useful. Thanks for all your effort mate!!

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

    The useCallbackRef pattern is EXACTLY what I was missing in my mental puzzle to properly memoize passed functions. Thanks 🙏

  • @lukeotwell3296
    @lukeotwell3296 2 года назад +18

    This is one of the best break downs of a hook I have seen, hope to see more like this.

  • @onthecodeagain
    @onthecodeagain Год назад +10

    Every react dev should watch this video. You explain concepts so clearly and at such a good pace! All your content is so good man!

  • @zzzzzzzzdsadasd
    @zzzzzzzzdsadasd 2 года назад +16

    at 18:00 you used useLayoutEffect, why? It seems redundant, not performant and adds code complexity for no reason.
    Any reason for not just doing the following?
    const savedOnSuccess = useRef(options.onSuccess);
    savedOnSuccess.current = options.onSuccess;

    • @jherr
      @jherr  2 года назад +9

      You are correct, I didn't need to do that.

  • @benrobo8
    @benrobo8 2 года назад +2

    This is really cool. I once taught I knew all about useEffect, but watching this made me realize I never new nothing. Love how you broke it down. Keep it up

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

    Best explanation of useEffect I have ever seen. Thanks so much!

  • @raymondmichael4987
    @raymondmichael4987 2 года назад +4

    That last part, using state as dependence I didn't know that.
    This video is packed with lot of very important lessons. Thanks buddy.
    Greetings from Tanzania 🇹🇿

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

    damn
    I have been working as full stack engineer for 7 months now but I swear I have to watch this video three times to fully understand .
    this is one or if not the most underrated videos on youtube on useEffect .
    I trully understand how this things work.
    some people think they understand pass by reference but most developers dont understand these concepts.
    I will share this video for sure.
    I spent this weekend to go over his videos on useLayout, useCallback ,useRef and so on.
    thanks a lot.

  • @AnupDhakalSharma
    @AnupDhakalSharma 2 года назад +1

    The title and thumbnail are opposite of click bait. I almost didn't click it thinking I'm gonna get the same basics, aren't I? Boy was I so wrong
    I am glad that I clicked it.

  • @wandersonsousa1891
    @wandersonsousa1891 2 года назад +1

    The stopwatch example was mind blowing, thank you, for the good work !

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

    hands down the best teacher of React. I kid you not !!!

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

    Absolutely best explanation about how useEffect dependencies work! 🔥🔥🔥

  • @azmaniandevil
    @azmaniandevil 2 года назад +2

    this is genuinely one of the best videos I've watched explain a seemingly complex concept. once broken down into the fundamentals, paired with straightforward examples (and gotchas!) - the complexity goes way down.
    thank you Jack! I was in the middle of a large refactor to reduce our eslint errors and the only one remaining is the useEffect dependancy array ones. this video definitely is going to help me tackle the more complicated ones from that.

    • @jherr
      @jherr  2 года назад

      Fantastic! Thank you! And, of course, good luck!

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

    Thought about skipping this video came to know much is yet to explore what a gem thanks jack

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

    Amazing job so many light bulbs went off after watching this turtotial.

  • @cristinavlassov3006
    @cristinavlassov3006 2 года назад +1

    I had a bug in my user profile's form, but when I found this I knew the solution was here. I watched it carefuly and found the solution. Great video!

  • @nairanvac79
    @nairanvac79 2 года назад +3

    Thank you so much for this. I've been struggling with this for weeks!

  • @johnelbasha8967
    @johnelbasha8967 11 месяцев назад +1

    The part of the video between 3:51 and 5:20 explains very well the render and re-render lifecycle. I urge anyone who is still a bit nervous about useEffect to watch and rewatch this section til it sticks. I had to draw a diagram to explain to myself what was happening at each step.
    Also, if you're using console.log within the useEffect hook, don't forget to make sure that there isn't a React.StrictMode component within the index.js file.

  • @bishalpandit4464
    @bishalpandit4464 2 года назад +6

    This video literally cleared up a lot of confusions. Really grateful. This video is a gem 💎

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

    When you've put the useFetch inside the useEffect I've already knew it would loop because useEffect is activated at every rendering, if you don't condition or apply that last array parameter, it will loop everytime.

  • @julian_pp
    @julian_pp 2 года назад +4

    A season mastering for all hooks please! Thank you for this vid! Much appreciatted

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

    This is the best piece of content on useEffect I have seen so far. It's so clear conceptually and pratically on point. I legit feel more confident using useEffect now, I get it!!
    Thank you Jack!

  • @beders
    @beders 2 года назад +2

    I'm so happy I'm using reagent which has absolutely none of these problems

  • @habtamudesalegn5397
    @habtamudesalegn5397 2 года назад +4

    very clear and an in depth uses of some of react hooks, thanks Mr. Jack as a usual!

  • @aarongillies2900
    @aarongillies2900 2 года назад +2

    Fantastic explanation of a sometimes frustrating hook in React, definitely bookmarking this one!

  • @amwebexpert
    @amwebexpert 2 года назад +13

    I'm a big fan of all your tutorials about React, you are an excellent teacher! If you're interested I (and the community I'm sure) would appreciate to have a dedicated video on useRef fundamentals, behavior and use cases!

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

    really help a lot! This is most deep dive video , I ever seen in coding journey

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

    I've seen seasoned developers make the mistakes you've shown in the video. Thanks a million for this! I'm a big fan

  • @echobucket
    @echobucket 2 года назад +3

    One thing that's helpful when thinking about useEffect is that it's like a callback.. and it's gonna get called by react AFTER the component function ENDs.

  • @michaelbacy3525
    @michaelbacy3525 2 года назад +1

    The way you explain these topics is amazing

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

    Jack, just found your channel today. Really great content 🎉 thanks for the crystal clear explanation that are built up like a gradual layering of knowledge and skill. This is how tutorials should be.

  • @Raubritterr222
    @Raubritterr222 2 года назад +6

    Jack, can you please make a video on how to set up VSCode for React development? You are an excellent expert in both!

  • @Rei-m3g
    @Rei-m3g Год назад +1

    Am going to tear all my hair out working with this useEffect .😱

  • @andreh.9300
    @andreh.9300 10 месяцев назад

    Thank you for the video! I'd been having trouble on a project recently, but I realize now what I'd been doing wrong!

  • @user-fg6ng7ej6w
    @user-fg6ng7ej6w 8 месяцев назад +1

    thanks. very informative video with many useful densely packed topics.

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

    Very nice and informative video. Also, encourage people to be not afraid of useEffect. But also promotes critical thinking.

  • @joelalmeida5249
    @joelalmeida5249 2 года назад +4

    Excellent video, excellent channel. The examples you bring are amazing and the way you explain the content, step by step, is really cool. Hello from Brazil!

  • @apresthus87
    @apresthus87 2 года назад +2

    This is easily one of the best code related (at least when it comes to React) videos I have ever watched. I thought I had a pretty good idea about how useEffect worked, but I learned a lot from this and deepened my understanding. I'm sure there are optimisations I can do in my codebase now armed with this knowledge :)

  • @mateuszrychlik4292
    @mateuszrychlik4292 2 года назад +1

    Your videos actually helped me a few times at work. Hope you'll keep up uploading

  • @smoothbeak
    @smoothbeak 2 года назад +1

    Just discovered your channel now, and I'm very impressed with the lucidity of your explanations!

  • @tomasvancoillie
    @tomasvancoillie 2 года назад +1

    Great explanation about useEffect. It is a hook with some complexity. Just last week had an example in a pretty large useEffect to programmatically set some form fields based on other filled in fields. In the useEffect, we needed a value to compare to other fields. But had the problem at first that the value kept triggering the useEffect hook undesirably. When creating a reference to that value, the useEffect hook wouldn't trigger when we used that value inside the hook. Learned a lot ;)

  • @DarkFlarePrince
    @DarkFlarePrince 2 года назад +1

    Best channel I've found so far!! Thank you so much!!

  • @Irfan-vl6ij
    @Irfan-vl6ij Год назад +1

    Best Video to learn about useEffect

  • @bythealphabet
    @bythealphabet 2 года назад +1

    Excellent Video Jack thanks.

  • @tiagodroppa
    @tiagodroppa 2 года назад +2

    So much value in one video!

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

    Amazing! Watching this video is like watching a great movie multiple times, and it just gets exciting and fun every time you watch it!
    Thank you, Jack!

  • @shashikaxp1
    @shashikaxp1 2 года назад +1

    Now we are talking, thanks Jack. loved this. we need some advanced stuff on react :)

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

    Gold mine of knowledge thats even for free... ! Highly appreciated sir

  • @mokorra
    @mokorra 2 года назад +1

    Quality video as always Jack! Now I know I never understood useEffect dependency till I watched this video

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

    I love how knowledgeable you are in React and state management and how you make complex stuff easy to understand. I wish you had a comprehensive React course. I would have definitely bought it in the blink of an eye.

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

      I have a react and typescript playlist for free which is pretty comprehensive.

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

      ​@@jherrwhere man I want to buy

  • @LuisBlancoAustin
    @LuisBlancoAustin 2 года назад +1

    What an awesome explanation of the react useEffect hook. Many thanks!

  • @rboy879
    @rboy879 2 года назад +1

    Woow blown away but the explanation, use case etc. Keep up the good work!!!

  • @sagarreddy7461
    @sagarreddy7461 2 года назад +1

    Awesome jack. Got clear idea of useEffect now. Thanks.

  • @FeralWitchchild
    @FeralWitchchild 2 года назад +1

    Jack, this is extremely well done, thank you for this!

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

    What an informative uncle

  • @vibhor3049
    @vibhor3049 2 года назад +1

    Amazing video, Jack! You're very knowledgeable and underrated. Keep creating!! 🔥

  • @piltonswrangbrahma5140
    @piltonswrangbrahma5140 2 года назад +1

    I came here for copper but I found gold
    You just got a SUBSCRIBED

  • @vizunaldth
    @vizunaldth 2 года назад +1

    So one of these for all the important ones plz!

  • @diaael-din8832
    @diaael-din8832 Год назад

    okay i must admit that, u r amazing, i hv been coding for almost a year now (not much i know) but built few apps alrdy, but once i saw ur video i knew i'm missing few things and also did some mistakes with these apps, and gotta say also ur teaching is awesome, hope u and ur channel best of luck, ty

  • @collenzaligway4458
    @collenzaligway4458 2 года назад +1

    Really helpful Man, I appreciate your videos that has quality content and eloquent explaination of process. Thank you so much.

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

    Excellent video as usual, Jack !

  • @MattMascolo.
    @MattMascolo. 2 года назад +1

    This got very convoluted very quickly. Especially with the need for 4 other hooks to get it to work as intended. Will probably need to watch this a few more times to fully grasp what is going on.

    • @TheMitchingHour
      @TheMitchingHour 2 года назад

      It really highlights the weakness of React. I’ve never had to worry about this low level stuff in other frameworks. I’d prefer magic to this any day.

  • @kieranosgood3297
    @kieranosgood3297 2 года назад +1

    Feel I mirror some others here but I feel pretty good with react but damn, that use callback ref in particular is an interesting one actually

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

    Bro u r such a great teacher..do more like this..deep analysis and getting sorting outing new things in a small small tricks it's cool..❤❤❤ love u..need more on react js jack

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

    Thank you Jack! Amazing explanation

  • @MrPlaiedes
    @MrPlaiedes 2 года назад +1

    I'm starting to turn the corner with react. I think it has served me very well, but it's time to get back to basics.

  • @adventurer2395
    @adventurer2395 2 года назад +8

    Great video! The useEffect dependency warnings are just too damn annoying. Sometimes you know what you're doing and that you're specifically watching just one piece of state, but it still wants you to add extra dependencies which, if you add, turn into bugs. Then you gotta keep adding ignore lines to make things work the way you want to.

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

      Sometimes you just need to ignore something

  • @anders671
    @anders671 2 года назад +1

    Excellent material!

  • @adityakadam2256
    @adityakadam2256 2 года назад +1

    Best indepth and easy to understand explaination. Thanks for sharing.

  • @tomascarignano5002
    @tomascarignano5002 2 года назад +1

    Really helpful Jack

  • @kavinduchamith8005
    @kavinduchamith8005 11 месяцев назад +2

    This content is gold. 💯

  • @abdulazeez.98
    @abdulazeez.98 Год назад

    Awesome video! finally a video that covers them well.

  • @DJBenito304
    @DJBenito304 11 месяцев назад

    This guy is the “Mr Rogers” of coding front end in React 🧑🏽‍💻🧣🧥👖

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

    Your content is amazing as always! Thanks for doing what you do!

  • @yashwantsahu3002-ram
    @yashwantsahu3002-ram Год назад +2

    Hello Sir. Love from India i love your content. It just great to have that much of insight of React there thanks fro creating such type of content.

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

    Great content, Jack. I'm a PHP dev who's getting into React, and I've started binging your channel. I don't mean this as criticism, just giving some feedback on a couple of things which made the video somewhat difficult to follow. I realize this video was released a while ago so apologies if these points have already been addressed. First, is it possible to turn off hinting in VS Code? The popups while you're typing are distracting, and obscure your work. In the same vein, it would be easier to follow if your headshot wasn't obscuring the code, perhaps by being smaller or hidden altogether when you're not talking directly to the camera. Thanks for providing these tutorials. As a vlogger I recognize how much work goes into making them.

  • @jonathanzevi2425
    @jonathanzevi2425 2 года назад +1

    Superb tutorial! I wish I found you sooner.

  • @muratasarslan2359
    @muratasarslan2359 2 года назад +1

    Thank you for your valuable effort Jack 👏

  • @shubhamlatiyan7972
    @shubhamlatiyan7972 2 года назад +1

    Always been a fan of your tutorials

  • @jaimearriola1495
    @jaimearriola1495 2 года назад +1

    Why I didn't know about this channel before? ... I mean you're an awesome instructor!! I enjoyed this video so much and I learned a lot!! Thanks so much for this great content, you just got a new suscriber! 🥳

  • @drewbird87
    @drewbird87 2 года назад +1

    Incredibly valuable again Jack. Thank you 🙏

  • @vibhassingh619
    @vibhassingh619 2 года назад +1

    Wow this tutorial is awesome. This is a very deep explanation. Worth watching it. 😍

  • @teerapatprommarak2070
    @teerapatprommarak2070 2 года назад +1

    Great explained, thank you Jack!

  • @SushilKumar-ig8ls
    @SushilKumar-ig8ls 2 года назад +1

    Thank you for such great insights and tricks. Lot of respect and a BIG THANK YOU.

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

    First of all. I love your videos, your teaching is very straight forward and thorough.
    Second, what is that font you are using? It's wild, but I feel like I would love it

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

      JETBrains Mono or Operator Mono, depends on the video

  • @Kay8B
    @Kay8B 2 года назад +1

    I already knew this but thought I'd watch anyway... still beneficial as it reassures me that I'm doing them right to some degree 🤣🤣

  • @MuhammadAhmed-pd8zu
    @MuhammadAhmed-pd8zu Год назад +1

    You are beyond amazing! Thank you so much for this tutorial!

  • @dao_jones
    @dao_jones 2 года назад +8

    Why not just use useCallback in the parent component instead of implementing a callback ref on your own?

    • @jherr
      @jherr  2 года назад +8

      That would depend on the caller to ensure that the function of the custom hook is correct. IMHO it's better before the hook to ensure that its own dependency behavior is correct regardless of the the parameters sent to the function.

  • @Stoney_Eagle
    @Stoney_Eagle 2 года назад +1

    I like that exponential speeding counter 🤣

  • @zerocodercool
    @zerocodercool 2 года назад +1

    Grrrrrreat explanation, as always! Thanks Jack!

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

    It's great explanation, sir :)

  • @AnonCarl
    @AnonCarl 6 месяцев назад +1

    Your the real fullStack

  • @abdulazeezatanda2371
    @abdulazeezatanda2371 2 года назад +2

    Awesome master class! Could you please tell me what VSCode extensions you used for the following in the video:
    - the font styles
    - the code suggestions
    - the theme

    • @ajithsimon
      @ajithsimon 2 года назад +1

      I just want to know, which code suggestions plugin he using. Have you figured it out already?

    • @abdulazeezatanda2371
      @abdulazeezatanda2371 2 года назад

      @@ajithsimon No, I haven't yet

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

    Loved the video thank you!

  • @JoonhwanLee
    @JoonhwanLee 2 года назад +1

    You ARE good story teller!!
    Thanks ❤️

  • @sumitwadhwa8823
    @sumitwadhwa8823 2 года назад +2

    Hi Jack. Thanks for the videos. May I ask, how did you create that terminal logo.?

    • @jherr
      @jherr  2 года назад +1

      That's Sixel graphics. It's really cool: ruclips.net/video/apg9XR35pAM/видео.html