The important things to know about React state and renders

Sdílet
Vložit
  • čas přidán 2. 09. 2022
  • A walkthrough on react state and when react re-renders components
    My VSCode Extensions:
    - theme: material community high contrast
    - fonts: Menlo, Monaco, 'Courier New', monospace
    - errors: Error Lens
    - extra git help: Git Lens
    - tailwind css intellisense
    - indent rainbow
    - material icon theme
    - prettier & eslint
    - ES7+ React Snippets
    ------------
    🤑 Patreon / webdevjunkie
    🔔 Newsletter eepurl.com/hnderP
    💬 Discord / discord
    📁. GitHub github.com/codyseibert/youtube

Komentáře • 55

  • @WebDevCody
    @WebDevCody  Před rokem +29

    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 Před rokem +2

      phew, I was already doubting myself 😛

  • @doc8527
    @doc8527 Před rokem +18

    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 Před rokem +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.

  • @unknown-user001
    @unknown-user001 Před rokem

    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.

  • @akash.deblanq
    @akash.deblanq Před rokem +1

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

  • @pesterenan
    @pesterenan Před rokem +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 Před rokem +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😅

  • @NazariyMurall
    @NazariyMurall Před rokem

    Really good job, short and extremely helpful 💪💪💪

  • @Goyo_MGC
    @Goyo_MGC Před rokem +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 ^_^

  • @spiridonov1
    @spiridonov1 Před rokem

    awesome video and really unique way of demonstrating it

  • @rohil3023
    @rohil3023 Před rokem

    A very useful video for us beginners!

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

    thank you you made it really clear and simple

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

    thank you, you're very good at explaining

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

    Amazing video, subbed 🥂

  • @mahmoudtaleb8281
    @mahmoudtaleb8281 Před rokem

    Just wonderful!

  • @alekxandar
    @alekxandar Před rokem

    This is really usefull, Thank you

  • @Paxters_
    @Paxters_ Před rokem

    great video!

  • @thomas-gk9jp
    @thomas-gk9jp Před rokem +1

    Thank you so much !!

  • @SeibertSwirl
    @SeibertSwirl Před rokem

    Good job love ❤️

  • @kishorjanjal7454
    @kishorjanjal7454 Před rokem

    thanks much needed explanation

  • @jonathanyngfors3905
    @jonathanyngfors3905 Před rokem

    Great! Thanks

  • @randomorigins5041
    @randomorigins5041 Před rokem +2

    Thanks!

  • @returncode0000
    @returncode0000 Před rokem

    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  Před rokem +1

      Thanks man I appreciate that. Yeah maybe useEffect next

    • @returncode0000
      @returncode0000 Před rokem

      @@WebDevCody This would be awesome, thanks 😊

  • @zakarianaji9428
    @zakarianaji9428 Před rokem

    thanks for the video

  • @user-dl7mn3ti9u
    @user-dl7mn3ti9u Před rokem

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

    • @WebDevCody
      @WebDevCody  Před rokem

      Do it on a computer? What do you mean

  • @emmanuellmiqueletti7029

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

  • @yasuke1280
    @yasuke1280 Před rokem

    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.😅

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

    17:02 state setters are fully synchronous

  • @AsakuraAvan
    @AsakuraAvan Před rokem

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

    • @WebDevCody
      @WebDevCody  Před rokem +1

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

  • @masiafmasiaf2204
    @masiafmasiaf2204 Před rokem

    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  Před rokem

      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 Před rokem

      @@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.

  • @thecutedreamkostasp.4449

    This guy is literally Broken!

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

    nice :)

  • @alexanderkalchev188
    @alexanderkalchev188 Před rokem

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

    • @WebDevCody
      @WebDevCody  Před rokem

      Because the component function will rerun over and over again

  • @vizunaldth
    @vizunaldth Před rokem

    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  Před rokem

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

    • @vizunaldth
      @vizunaldth Před rokem

      Respect for you doing it tho!

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

    This is the 1k th like for this video. 999 to 1k

  • @lindennerdhh
    @lindennerdhh Před rokem

    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

  • @coldym
    @coldym Před rokem

    Did you mean to useMemo in 14:31 ?

    • @WebDevCody
      @WebDevCody  Před rokem

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

  • @garrysyt8461
    @garrysyt8461 Před rokem

    Amazing to know what happens under the hood

  • @doc8527
    @doc8527 Před rokem +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  Před rokem

      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

  • @justine_chang39
    @justine_chang39 Před rokem +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!

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

    4:33

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

    13:54