Learn React Hooks: useLayoutEffect - Simply Explained!

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • Join The Discord! → discord.cosden...
    Source Code → github.com/cos...
    In this video we will learn about React hooks, starting with useLayoutEffect. This powerful React hook will allow you to run an effect before the browser paints the screen and the component is rendered. This works in exactly the same way as useEffect, with the only difference that useLayoutEffect is synchronous and will block rendering to execute its code. Most of the times useEffect is all you need, but sometimes useLayoutEffect is a better choice!
    In this new React world, hooks are here to stay, so it's best to learn them! In this tutorial I demonstrate the useLayoutEffect React hook, and I explain it very simply and in a way that is easy to understand. Enjoy!

Komentáře • 51

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

    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

  • @erik.schlegel
    @erik.schlegel Před 9 měsíci +8

    Just got through your Learn React Hooks playlist. Big fan of your natural and snappy teaching and crisp editing. You were a tremendous help on my react journey and I am very grateful to have found your channel. Links to your content are henceforth being included in all my see more... documentation. Cheers!

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

      Thank you for the kind words! Really glad you found the videos useful ☺️

  • @mdzaidsiddiqui4262
    @mdzaidsiddiqui4262 Před 10 měsíci +2

    This is the best useLayoutEffect explanation I've ever seen on yt. Thank you!

  • @danteDeveloper
    @danteDeveloper Před 10 měsíci +1

    Great talk. I just want to point small things setState is not asynchronous, but rendering works asynchronously. Thank you Cosden, what a wonderful speech.

  • @ivolovyk
    @ivolovyk Před 10 měsíci +1

    Great video, thanks. I think working with DOM is a great case for useLayoutEffect. useLayoutEffect will return the correct sizes of elements via ref on the first render, while useEffect will return 0 because it takes sizes before DOM is ready.

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

    sir your words are words "welcome back to the last {topic} tutorial video you ever going to after watch" I experienced that so many times in every time watching 2 or 3 tutorials and get nothing from those and come to the cosden solutions yes i do not need to watch another. Thank you for your great effort that you put to uplift the youngsters knowledge . You may deserve over 1M subscribers soon. Hats off from Sri Lanka❤

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

    thank godness, i can not beleave in how you can teach so clearly and direct on the point, you are amazing brow please keep making more videos!

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

    Your videos are more easy to follow than Meta's own React Certification Course

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

    I really dont need to watch another video , U killed it, thanks

  • @DKevin-rb6vh
    @DKevin-rb6vh Před 5 měsíci

    Wonderful explanation :) Keep up the great work buddy. Love from India

  • @rometpastak1
    @rometpastak1 Před 10 měsíci +16

    Why not bring out some example of thoses cases you actually use it then?

    • @QuanTran-wt4yt
      @QuanTran-wt4yt Před 8 měsíci

      normally, i would use it with animations because it requires precise layout

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

    Amazing video. I had an issue a few days back using react-native. Where I wanted to change the navigation name in a component and if u navigate to “quick” u could see the old name and then change to the new name. So that’s when layouteffect came in clutch

  • @rohanrocksgamingvalorant8881

    amazing .liked a lot

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

    Very useful information thanks love from India ❤❤

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

    Great explanation serr 👌, having an indepth idea about hooks in general can help Developers take informed decision while designing the architecture of the application and avoid technical debts interms of performance of the application is considered.

  • @harag9
    @harag9 Před 10 měsíci +1

    Great video, never seen that use hook before, but interesting how it works compared to useEffect. However I can't think of a reason when you would use it as you say 99% of the time the useEffect is better.

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

      usually used when you need to get sizes and dimensions of html elements through ref to compute things!

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

      @@cosdensolutionsAhh, good to know. thanks. :)

  • @navinkumarsahu1159
    @navinkumarsahu1159 Před 8 měsíci

    clear to the exact point thanks a lot videsi guy

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

    very good!! brings the useTransition hook

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

    Thanks a lot!

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

    Great Explanation ❤!

  • @brothersumitkumar
    @brothersumitkumar Před měsícem

    Awesome!!!

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

    You are awesome. Please keep on.

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

    Thank you for the great video 👍

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

    You delivered 👌

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

    6:47 how does calling setState stop rendering? is the returned value ignored?

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

    Thank you for the great tutorial. Although React Docs does not recommend useLayoutEffect, sometimes it's the only way.
    for ex:
    persisting DarkMode or checking user login status

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

    how do we set different theme to each multiple (dynamic) pages ex: category pages, or maybe random themes for each blogpost? in next14

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

    Loved it ❤

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

    React-router-dom v6 make a video on it. kindly!

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

    Thanks a lot for this series,
    for this specific hook, is it good to use it in a protected route for example ?
    where you need to check if there is a user in the auth context, it takes some time , and you don't want the user to see the page if he isn't logged in, so does it make sense to use this hook in this situation to block the page from rendering for un-authorized users ?

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

      a better idea would be to show a loader while that happens, with a normal useEffect!

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

      @@cosdensolutions Thanks

  • @serbanmarin-eusebiu
    @serbanmarin-eusebiu Před 9 měsíci

    I am just curious, because I use quite often use useLayoutEffect for the next scenario, I have a user state in redux, that on every refresh I need to get from the server(golang server), so the base ideea was to use use useLayoutEffect to remove the errors of the application as well to remove the flickering from user useEffect. What’s your ideea about it? Do you think could be done better?

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

      I wouldn't necessarily use useLayoutEffect for that, I would use a normal useEffect and fetch the user and while it is fetching, show a loading spinner on the whole app. Then once the user is available, you can render the rest of the app. No need specifically for useLayoutEffect!

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

    Great, great video, I’m always here to show my appreciation, but Darius, sunt in stare de soc, esti roman? 😱

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

      Da hahahaha

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

      @@cosdensolutions fantastic, ti-am dat add pe linkedIn, nu-mi vine sa cred ca fix persoana de la care abia astept sa posteze ceva nou despre react (din tot yt) e la 50 de km de mine 😂

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

    2:05 please what do you mean by derive the state? thanks

    • @Ethereal792
      @Ethereal792 Před 10 měsíci +2

      Instead of setting `isAdmin` from a useState hook `setIsAdmin`, you can simply add something like `const isAdmin = userId === 1`

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

      Yes exactly

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

      ​@@Ethereal792Thanks 🙏

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

    Name of the theme you're using???