Learn React Hooks: useReducer - Simply Explained!

Sdílet
Vložit
  • čas přidán 2. 06. 2024
  • Join The Discord! → discord.cosdensolutions.io
    Source Code → github.com/cosdensolutions/co...
    In this video we will learn about React hooks, starting with useReducer. This powerful React hook will allow you to enhance how you manage and mutate state in your React application. You will learn the difference between useReducer and useState, how to create your reducer function, how to define your actions and return a mutated copy of the state in your application.
    In this new React world, hooks are here to stay, so it's best to learn them! In this tutorial I demonstrate the useReducer React hook, and I explain it very simply and in a way that is easy to understand. Enjoy!

Komentáře • 65

  • @catarinasilva7390
    @catarinasilva7390 Před 10 měsíci +33

    Dude, you are soooo underrated. 600 views? this video deserves a million views. can't even tell you how many different videos i watched about useReducer and finally you found a way to explain it perfectly. Finally got it 🙏🙏
    thank you thank you thank you..

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

      I'm really glad to hear that! ☺️ thanks a lot

  • @forshetrial
    @forshetrial Před 2 měsíci +8

    honestly, you're underrated. i learned more things from you than my college course.

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

      Agreed. Definitely channel to recommend.

  • @robboerman9378
    @robboerman9378 Před 5 dny

    Super clear and explanation again, the last example drove home the point on when to use it

  • @magiclover9346
    @magiclover9346 Před 2 měsíci +1

    It's important to understand the strictness of immutability is enforced. If you don't return a new object in your reducer the component will not re-render. This is a bit different if you're coming from redux-toolkit. Redux toolkit will give you a brand new object in your reducers. Great video

  • @JasonRosensweig
    @JasonRosensweig Před 7 měsíci +6

    I just want to say that these react hooks videos are by far the best and easiest to understand. They are fantastic for new devs and senior devs just getting into react. 😊

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

    This series on React hooks has been super informative. Really appreciate this content, these may be the best explanation videos I have ever watched, for any language.

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

    I feel like I just made it over a slump/ hurdle I’ve been stuck in for too long. But seriously… you’re videos have been SO helpful is getting over these hang ups. I appreciate what you’re doing here.

  • @tanmayawasthi6487
    @tanmayawasthi6487 Před 3 měsíci +1

    Thank you so much Cosden! I've seen so many videos but it's just amazing how you are making this so simple.

  • @user-zu2zn6rd3n
    @user-zu2zn6rd3n Před 8 měsíci +2

    There is no other way to explain it easier than you did in this video... just mindblown :) Thanks for the video Cosden! 👏

  • @erfelipe
    @erfelipe Před měsícem +1

    Great explanation.

  • @brunobrasil3419
    @brunobrasil3419 Před 27 dny

    Thank you so much! Your channel will grow lots with your great, clear, and concise explanations!

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

    Very clearly explained. Thanks for making this . Subscribed.

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

    Please keep up doing videos like that! Very concise and clear!

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

    Such a great tutorial! Thank you and just subscribed :)

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

    1:28 to 1:48, just summarization and I already got what it does. I did not use it really, but used redux, so it absolutely made sense. Thanks!

  • @devdesiignn
    @devdesiignn Před 17 dny

    Darius, This is great,
    Thank you so much for these contents you put out, i just joined the discord and i am excited about what you have on there, it is really mind blowing...
    I want to suggest if you can make a YT short video, to talk about sample scenarios when it's is suitable to use useReducer instead of useState.
    I feel this might clarify things better for Jr react devs like me.
    Thank you.

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

    The best explanation I've ever heard. I wish the best from Ukraine

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

    Your content is really very useful. Easy and simple. It makes it easy for me 🥰🥰🥰
    The way you explain is very similar to Jonas Schmedtmann😅🥰

  • @nanonkay5669
    @nanonkay5669 Před 2 měsíci +1

    I think if you find yourself having to update 4+ instances of state that all depend on each other in some capacity, its time to use useReducer

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

    Great video! You helped me a lot. Thank you

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

    thank you so much for the explanation!

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

    even my english is very bad but i can understand evry word you saying , and that's help me to get the information , thanks bro❤

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

    I'm really greatefull to you for making video like these.......

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

    Great video. I've watched several vids trying to explain useReducer, and each time a little more sinks in, I just have to go and use it. It looks so simple when it's all on one page within one component. but when I have several pages and several components, and then need to throw it into a useContext or something for it to be accessible to them all

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

      Yep exactly, that's actually what redux is! So you may want to consider it if your state is big enough

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

    I first of all like your video before watching - that tells you the confidence I have in you. I'll follow you on social media if you make your handles available and more...

    • @cosdensolutions
      @cosdensolutions  Před 8 měsíci +2

      all my handles are the same as this one, @cosdensolutions

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

    Really great video

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

    Thank you for explaining things so clearly! I finally understand the useReducer now!
    I do have one question. Around 12:19 you mentioned that "[useReducer] can update multiple pieces of state at once. If we had done this with useState, you probably would have had a state value for count and then a state value for error"
    I'm a little confused about what you meant by this. Are you saying that you would need two separate states for count and error?
    Couldn't we have a state that holds an object with both count and error values and do the same thing in the useReducer example, like this:
    const [state, setState] = useState({ count: 0, error: null });
    const increment = () => {
    setState((prevState) => {
    const newCount = prevState.count + 1;
    const hasError = newCount > 5;
    return { ...prevState, count: hasError ? prevState.count : newCount, error: hasError ? "Maximum reached" : null };
    });
    };
    const decrement = () => {
    setState((prevState) => {
    const newCount = prevState.count - 1;
    const hasError = newCount < 0;
    return { ...prevState, count: hasError ? prevState.count : newCount, error: hasError ? “Minimum reached" : null };
    });
    };

  • @jacobwwarner
    @jacobwwarner Před 6 dny

    I heard a simple rule of thumb saying to useReducer() when updating objects in the state and useState() when updating simple, primitive variables.

  • @thebeastsclips
    @thebeastsclips Před 6 měsíci +1

    The 12:18 explains it.❤

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

    Just great !!!

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

    hi,
    great tutorial
    what is this browser you used in this tutorial

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

    Thank you!

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

    Really Good

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

    Nice explanation! Really enjoyed that :)
    May I ask if you can do videos on implementing Typescript + React in Clean Architecture/DDD? These topics and specific tech stack are very few in this space, and would be valuable to junior devs who join bigger teams...tq! Hope to join the discord soon!

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

      Glad you liked it! I'm actually building an app live from scratch where I talk about these things, you can check it out! The first video is posted already. I'll eventually make more specific content around that too but for now there's the live where it's an actual project

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

    voy aprendiendo y tambien me voy enamorando jajajajajajajajajajajajajaja muchas gracias🌹
    mi crush de react, amor al primer video 😍 jajajjajjaja

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

    All things Simply Explained exactly.

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

    I remember again why I use Vue 😄

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

    Please try to do series on storybook, react testing and typescript

  • @VishalSharma-rn7mt
    @VishalSharma-rn7mt Před 5 měsíci

    Awesome

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

    thanks

  • @crutz3064
    @crutz3064 Před 5 měsíci +2

    useReducers looks like the complicated version of useState..what am i missing? lol

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

      It is hahah but it's useful when you have complicated state and want to handle it predictably

  • @2011BIRR
    @2011BIRR Před 26 dny

    very nice! But as a teacher it is also good to speak a little slower...that would be my wish. I ´ve seen lots of tube videos, where guys think to be clever and don´t think about pupils learning and bombard with talking...

  • @Psychopatz
    @Psychopatz Před 5 měsíci +8

    I'm a visual learner, and him murmuring about the technicalities and jargon instead of showing it then explaining what he did makes this tutorial painful to follow yet its still sufficient, ty

    • @Imam.Mehdi_
      @Imam.Mehdi_ Před 5 měsíci +2

      You are right,,,he does not teach he just comment on code

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

      “Learning styles” are a myth.There’s no such a thing as visual learning. Differences in IQ is what determines the difficulty of learning. You’re just slow bro

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

      I watched and I understand, there is no problem on the tutorial

    • @robboerman9378
      @robboerman9378 Před 5 dny

      The whole difference between other explanations is that Darius explains when and why to use it. If all you want to see is people typing useReducer then why watch this tutorial?

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

    Video on RTK query?

  • @kiwi..._
    @kiwi..._ Před 8 měsíci

    Bro ,we need beginners react project

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

    it would be better if you did not used typescript

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

    i'll never understand this stupid hook 😢

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

      yes, you will, you just watched my video! ☺️

    • @avatar7166
      @avatar7166 Před 8 měsíci +1

      @@cosdensolutions ive watched tons by many different great channels and still makes no sense to me i understand the use of it but not the structure of it

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

      trust me i know how u feel, but dont give up , im not giving up untill i master this shit !

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

    The useReducer hook, so clearly and succintly explained. Thank you very much.
    PS One of the few Tutors to illustrate React with TypeScript code. You have to be commended for that.
    {2023-10-18}