Learn React Hooks: useTransition - Simply Explained!

Join The Discord! → discord.cosdensolutions.io
Source Code → github.com/cosdensolutions/co...
In this video we will learn about React hooks, starting with useTransition. This powerful React hook will allow you to have interruptible state updates that you can configure to priorities some updates over others. This is an optimisation React hook which you will use to give users a better experience on your app. You will learn how to use the useTransition hook, how to start a transition with startTransition, and how to use the isPending flag to show some UI as the transition is happening.
In this new React world, hooks are here to stay, so it's best to learn them! In this tutorial I demonstrate the useTransition React hook, and I explain it very simply and in a way that is easy to understand. Enjoy!

Пікірлер: 54

  • @cosdensolutions
    @cosdensolutions3 ай бұрын

    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

  • @sumitdubey8695
    @sumitdubey8695Ай бұрын

    What you say "This is the last video you are ever going to watch", is actually 100% true. Just amazing explanation 👌🏻

  • @AnuragSingh-ev8qd
    @AnuragSingh-ev8qd4 ай бұрын

    I had to watch few parts of the video twice, but got it at the end. Amazing explanation, you got one more subscriber 👍

  • @mikewski4410
    @mikewski44109 ай бұрын

    Pretty clean explanation. Easy to understand. Thank you

  • @sviatoslav8776
    @sviatoslav87765 күн бұрын

    Great explanation. Thanks a lot 👍

  • @jacobwwarner
    @jacobwwarnerАй бұрын

    Beautiful. I didn't think you could have such a refined control of rendering by using hooks like this.

  • @michaelm8044
    @michaelm80449 ай бұрын

    Sick video. Pretty advanced stuff.

  • @prakashbanjade4374
    @prakashbanjade43749 ай бұрын

    Cool, now I understand useTransition and I won't need to look at other videos and solutions for this. Great explanation.

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    happy to hear it!

  • @tusharghildiyal6814
    @tusharghildiyal68149 ай бұрын

    That was very clear and helpful brother. Thanks, much appreciated 🙌👏

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    Glad you enjoyed it!

  • @IAmRC1
    @IAmRC15 ай бұрын

    Nice explanation buddy!

  • @stepanostapuk4120
    @stepanostapuk41209 ай бұрын

    Thank you for the video!

  • @garudaphoenix5479
    @garudaphoenix54799 ай бұрын

    Thanks, man, clearly explained 💖💖

  • @sudiptagogoi1431
    @sudiptagogoi14319 ай бұрын

    Thanks a lot cosden

  • @irradev
    @irradev3 ай бұрын

    Amazing! I will refactor my code. Thanks so much!

  • @abeercodes
    @abeercodes9 ай бұрын

    whoever has found this video on KZread is lucky

  • @ankurparchani3230
    @ankurparchani32309 ай бұрын

    I really don't have to go to another video for this topic ever again 👏🏻

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    There you go ☺️

  • @adembenabdallah9678
    @adembenabdallah96789 ай бұрын

    I appreciate your work this helped a lot ❤❤. Your are the best who explain the hooks it is true the last video you need to watch ❣❣

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    thank you for the kind words!

  • @vinothkumarv9722
    @vinothkumarv9722Ай бұрын

    Awesome :)

  • @vuongal1658
    @vuongal16589 ай бұрын

    Thank you so much!!!

  • @gmjitendra
    @gmjitendra8 ай бұрын

    Excellent.

  • @EmmanuelOdii80
    @EmmanuelOdii807 ай бұрын

    Much simplified than the info from the docs :)

  • @Shaheer-xs5os
    @Shaheer-xs5os9 ай бұрын

    Bro that was helpful 😄😊

  • @tangsi721
    @tangsi7213 күн бұрын

    perfect example

  • @Herxh428
    @Herxh4289 ай бұрын

    Clean

  • @user-mr8rv8yb8v
    @user-mr8rv8yb8v5 ай бұрын

    your a goat

  • @dominggusoctovianus4915
    @dominggusoctovianus49159 ай бұрын

    Simple but so juice... hehe

  • @robertomolinasilvera4863
    @robertomolinasilvera48635 ай бұрын

    React sends one rerender with currentState and isPending:true to component to tell it will start transition. Then it will rerender component with newState if during this rerender (probably slow) another update is raised, async rerender will be stopped

  • @jerry_codes
    @jerry_codes2 ай бұрын

    Quick Question? Can I use the useTransition to put the loading state for side effects functions For e.g. if I have to update the user and I'll wrap the start transition on update function. I can use the isPending state to show that is updating or likewise.

  • @awekeningbro1207
    @awekeningbro12072 күн бұрын

    so basically useTransition is just debouncing the function to be invoked a little bit later(in milliseconds)?

  • @bibahbibah5108
    @bibahbibah51089 ай бұрын

    u are right i don't need to read or see another thing

  • @StingSting844
    @StingSting8449 ай бұрын

    Neat. So what happens to components that render direct from manipulations like chart libraries or canvas libraries? They don't work because react has no way to stop them right?

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    depends, if they are driven by state, this will control when that state gets interrupted or not

  • @awekeningbro1207
    @awekeningbro12072 күн бұрын

    does the useTransition hook work with react's userReducer just like it would be useState?

  • @rockstarshahid
    @rockstarshahid2 ай бұрын

    Awesome. Simple and clear explanation. But I have a question regarding POSTS page. How can we resolve the UI freezing issue for Posts page? Or how can we load Posts page content faster? Can you help me with this? Thanks.

  • @cosdensolutions

    @cosdensolutions

    2 ай бұрын

    only render a few at a time. So either use virtualization, or paginate them and load them 20 at time

  • @tnarra
    @tnarra8 ай бұрын

    Why does my script to animate in page router doesn't work in app router of nextjs

  • @fullstackprojects5615
    @fullstackprojects56157 ай бұрын

    hello, Can you explain this one please - while (performance.now() - startTime console.log("entered while...", performance.now()); // Do nothing for 1 ms per item to emulate extremely slow code } performance.now() - startTime < 1 should always be greater than 1 isn't it? I don't know why is it going inside the while loop and what does 1ms delay is derived. Would be great if you can please explain.

  • @cosdensolutions

    @cosdensolutions

    7 ай бұрын

    this code just forces the component to wait 1ms before continuing the render. It comes from the React docs in their examples! It just simulates slowness so that you can actually see the effects of what you are doing

  • @user-js1ym3xs9q
    @user-js1ym3xs9q8 ай бұрын

    why not use loading instead

  • @deliotablang823
    @deliotablang8239 ай бұрын

    seems like same with the suspense lazy load what are the difference between them?

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    suspense is for delaying the loading of something and this is for interrupting it and prioritising other renders first

  • @deliotablang823

    @deliotablang823

    9 ай бұрын

    Many thanks. Is this working also using next/link?

  • @veerasamysevagen9533
    @veerasamysevagen95336 ай бұрын

    Hello, Loved your explanation but it does not seem to work with this piece of code. const buttonClick = (type: string) => { startTransition(() => { if(type === "fast") { setCounter(25); } else { setCounter(() => { let sum = 0; for(let i =0; i

  • @cosdensolutions

    @cosdensolutions

    6 ай бұрын

    because startTransition works by interrupting renders that take too long after being set, not the actual setting of a new value. In your case, you're just taking a while to set the new value to trigger a re-render, but the actual re-render is super fast as it will just update the counter with one value

  • @veerasamysevagen9533

    @veerasamysevagen9533

    6 ай бұрын

    @@cosdensolutions makes sense yeah. Thanks a lot for responding.

  • @jivkojelev3744
    @jivkojelev37449 ай бұрын

    Its look like debounce or throthle

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    It does

  • @agustind
    @agustind9 ай бұрын

    I promess you after reading this comment you wont have to read any other comment again

  • @cosdensolutions

    @cosdensolutions

    9 ай бұрын

    Thanks you saved me

  • @bq_wang
    @bq_wang9 ай бұрын