The important things to know about React state and renders

Поділитися
Вставка
  • Опубліковано 10 гру 2024

КОМЕНТАРІ • 57

  • @WebDevCody
    @WebDevCody  2 роки тому +30

    idk why I kept saying "because of how closures work". there are no closures here, just scoping. "because of how scoping works". cheers!

    • @KWerder92
      @KWerder92 2 роки тому +2

      phew, I was already doubting myself 😛

  • @doc8527
    @doc8527 2 роки тому +20

    Frontend interview question is another trouble maker, they asked a lot of code cases (terrible object reassignment patterns and abuse variable scope) that you should never use them in code, and then ask you what happen if you use them, some ignorant devs even are pretentious about knowing those non-sense. It cause many Devs to hard memorize them. In fact, you should never know them, they will pollute your knowledge database.

  • @sprioleau
    @sprioleau 2 роки тому +11

    I've been writing React for a few years now and though I know how state works for the most past, you filled in some gaps for me in this single video. Well said. This was helpful!
    I love your videos and tune in as often as I can.

  • @a1x45h
    @a1x45h Рік тому +1

    the audio quality of this video is amazingly done, delight for my speakers!
    Great video. Thanks.

  • @randomorigins5041
    @randomorigins5041 2 роки тому +2

    Thanks!

  • @unknown-user001
    @unknown-user001 2 роки тому

    this is the explanation that I've wanted for a long time. Most of the tutorials explain how hooks work and how not to use them, but those never explain this much. Thanx.

  • @pesterenan
    @pesterenan 2 роки тому +1

    That was really useful! I'm refactoring code from other people that is really full of states and variables, so this will help me decide what to keep and what to change.

  • @alireda-re1ce
    @alireda-re1ce Рік тому +1

    Absolutely fantastic video which is absolutely necessary for anyone looking to get into react to watch. Understanding the concepts here really saves so much debugging time. I know because I suffered debugging these kinds of issues for so long lol😅

  • @Goyo_MGC
    @Goyo_MGC 2 роки тому +2

    Great video to remember the concepts behind React ! I've been so immersed in the framework that i was going with the 'everything needs to be a state' mindset. But when a re-render is not needed it is true that you can use generic JS which i forgot ! I might have to update my linters to allow it from time to time ^_^

  • @returncode0000
    @returncode0000 2 роки тому

    Jesus christ, I finally understood how useState works haha thanks! Please, do an example like this with all the other standard hooks, this would be so fricken awesome. You are so talented in explaning things!

    • @WebDevCody
      @WebDevCody  2 роки тому +1

      Thanks man I appreciate that. Yeah maybe useEffect next

    • @returncode0000
      @returncode0000 2 роки тому

      @@WebDevCody This would be awesome, thanks 😊

  • @alexstrasza4938
    @alexstrasza4938 7 місяців тому

    thank you, you're very good at explaining

  • @AtmaniChouaib
    @AtmaniChouaib Рік тому

    thank you you made it really clear and simple

  • @spiridonov1
    @spiridonov1 2 роки тому

    awesome video and really unique way of demonstrating it

  • @premsingh6967
    @premsingh6967 Місяць тому

    Thank you explaining it 😀

  • @NazariyMurall
    @NazariyMurall 2 роки тому

    Really good job, short and extremely helpful 💪💪💪

  • @yasuke1280
    @yasuke1280 2 роки тому

    The last 5 minutes of this video was too intense for my brain. I was keeping up until then, time to save this in my watch later.😅

  • @mahmoudtaleb8281
    @mahmoudtaleb8281 Рік тому

    Just wonderful!

  • @itsmepawan
    @itsmepawan Рік тому

    Amazing video, subbed 🥂

  • @thecutedreamkostasp.4449
    @thecutedreamkostasp.4449 2 роки тому

    This guy is literally Broken!

  • @kishorjanjal7454
    @kishorjanjal7454 2 роки тому

    thanks much needed explanation

  • @rohil3023
    @rohil3023 2 роки тому

    A very useful video for us beginners!

  • @thomas-gk9jp
    @thomas-gk9jp 2 роки тому +1

    Thank you so much !!

  • @user-dl7mn3ti9u
    @user-dl7mn3ti9u 2 роки тому

    Loved the tutorial man this thing is legit 100% !! althogh i wish if theres a way you can do it on computer

    • @WebDevCody
      @WebDevCody  2 роки тому

      Do it on a computer? What do you mean

  • @emmanuellmiqueletti7029
    @emmanuellmiqueletti7029 Рік тому

    I got this question for a senior dev interview. The interview wants a detailed explanation why react renders

  • @jonathanyngfors3905
    @jonathanyngfors3905 Рік тому

    Great! Thanks

  • @matthewrossee
    @matthewrossee Рік тому

    17:02 state setters are fully synchronous

  • @alekxandar
    @alekxandar 2 роки тому

    This is really usefull, Thank you

  • @Paxters_
    @Paxters_ 2 роки тому

    great video!

  • @zakarianaji9428
    @zakarianaji9428 2 роки тому

    thanks for the video

  • @AsakuraAvan
    @AsakuraAvan Рік тому

    lol 'Shadow DOM', that sounds badass. React should've called it that instead of Virtual DOM

    • @WebDevCody
      @WebDevCody  Рік тому +1

      There is a shadow dom concept, I just confused the terms 😔 google shadow dom vs virtual dom

  • @masiafmasiaf2204
    @masiafmasiaf2204 2 роки тому

    in your example to put the count var (min 5:18) outside the component and you can mutate it, is there a different with useRef? like a countRef.current and change it from there?

    • @WebDevCody
      @WebDevCody  2 роки тому

      useRef will not tell React to re-render. But yes, you could use a ref and increment it, but you'd still need a useState somewhere to let react know it's time to render again.

    • @masiafmasiaf2204
      @masiafmasiaf2204 2 роки тому

      @@WebDevCody thanks for the answer i didnt know is there has a difference on useRef, cause i had some issues using it, wanna save some var on a useRef cause i know that var is not gonna show on screen, but for some reason the value on the useRef change, when a use the debugger it just go to that line of useRef and the value change just like that, i end up doing the other way that a forgot was a old sprint that i have had and there was no answer on stack overflow or google. it i encounter the same problem i will sure let you know.

  • @LegutGamer
    @LegutGamer Місяць тому

    All ❤

  • @doc8527
    @doc8527 2 роки тому +2

    I think one of the important issue with React is that many newbies expect React works as JavaScript. It's apparently not.
    This is actually a common Frontend issue nowadays, many jump into the Frontend world with one framework like react, svelte, or vue and etc. without knowing the fundamental of JavaScript, even the JavaScript itself has a lot of clucky behavior, so they will make a lot of mistakes at the beginning. The worse case, they want to apply framework philosophy everywhere even back to language itself.
    if you have something in your code like a dependency state update as a learner, there might be something wrong in your code most likely
    ```
    setAState(newA);
    // waiting A update, something happen in between,
    setBState(A);
    ```
    Just a common trouble pattern I see in React, Svelte and Vue also have their own issues to deal with.

    • @WebDevCody
      @WebDevCody  2 роки тому

      Solid js tries to avoid this problem by always requiring a function for getting the current value of state. But yes to truly understand these react state bugs you need to know js pretty well

  • @SeibertSwirl
    @SeibertSwirl 2 роки тому

    Good job love ❤️

  • @vizunaldth
    @vizunaldth 2 роки тому

    Pretty sure closures have more to do with functions “closing” over inner state with an inner function doing something with that state.
    Would definitely say that’s much more global state as it’ll be available on window object as scoped.

    • @WebDevCody
      @WebDevCody  2 роки тому

      Yeah true bad word choice, it’s more of how scoping works, no retakes. Record once and publish 😂

    • @vizunaldth
      @vizunaldth 2 роки тому

      Respect for you doing it tho!

  • @alexanderkalchev188
    @alexanderkalchev188 2 роки тому

    I have a question about useEffect. Why should fetch data from an API inside useEffect and not just inside the component function?

    • @WebDevCody
      @WebDevCody  2 роки тому

      Because the component function will rerun over and over again

  • @crystalcacik3346
    @crystalcacik3346 Рік тому

    nice :)

  • @coldym
    @coldym 2 роки тому

    Did you mean to useMemo in 14:31 ?

    • @WebDevCody
      @WebDevCody  2 роки тому

      Yes, typed the wrong thing. React.memo is for components

  • @lindennerdhh
    @lindennerdhh 2 роки тому

    I think that if you we're to make your count vanriable const, then js wouldnt hoist it anymore, but you would have to do some hacky stuff to change it. Great video! Love your didactics

  • @garrysyt8461
    @garrysyt8461 2 роки тому

    Amazing to know what happens under the hood

  • @smrpkrl
    @smrpkrl Рік тому

    4:33

  • @okandikkulak8057
    @okandikkulak8057 Рік тому

    13:54

  • @justine_chang39
    @justine_chang39 2 роки тому +1

    i love using Vue, and I think it's far superior to React, but it just doesn't have the same quality libraries like React does. Even component libraries aren't as good as the ones in React-land, the most popular 2, Vuetify and Quasar, are styled with Material UI, which is soooooooo ugly in 2022. I COULD use Tailwind, but I don't want to design all my components from scratch. Lemme know if you know any beautiful Vue 3 component libraries!