Learn React Hooks: useDeferredValue - Simply Explained!

  Рет қаралды 16,178

Cosden Solutions

Cosden Solutions

Күн бұрын

Пікірлер: 40
@cosdensolutions
@cosdensolutions 8 ай бұрын
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
@abeercodes
@abeercodes Жыл бұрын
Your explanation is seriously good and very much clean. Thank you
@AlexanderBelov-y8o
@AlexanderBelov-y8o Жыл бұрын
Going to use this all the time for form validation.
@mladenorsolic370
@mladenorsolic370 Жыл бұрын
This is a way better/smarter hook then yhe old debounce based one with a timer. I should not worry about the timer, and the play here is : start the render and restart if state changes. I love it! Thank you!
@cosdensolutions
@cosdensolutions Жыл бұрын
they are for different use cases! The timer is great when you want to prevent network requests for example
@mladenorsolic370
@mladenorsolic370 Жыл бұрын
@@cosdensolutions but i would still use this one instead of debounce, because you can never know how long is the network request gonna take, i used debounce to infinetly load additional 15 items each time making a request to server and in most cases .3 sec was enough but if that request takes longer then whole thing breaks with spinner never disappearing. Using this hook that problem is simply gone
@BeeBeeEight
@BeeBeeEight Жыл бұрын
Thank u Darius. It's definitely a very good explanation, but I think it's even better to put this together with useTransition since Dan Abramov intended these two to have similar use cases but targeting different codes. IMHO, we could also create a custom debouncing hook to control the timeout for rendering the result value. If I had to debounce the rendering of search results, such a hook would be then more flexible than useDeferredValue since we can't really control when useDeferredValue will render the result.
@cosdensolutions
@cosdensolutions Жыл бұрын
Yes absolutely! All of these 3 hooks are very similar and have many things in common
@cabrelelvis
@cabrelelvis Жыл бұрын
Very usefull when you have input to query database or some api with params or query you dont want to make request for each letter, before this video I used debounce function
@cosdensolutions
@cosdensolutions Жыл бұрын
debounce is better for api requests, because it is time based. This hook will fire a lot of requests on fast computers (macbooks for example)
@aneurysmjs
@aneurysmjs 6 ай бұрын
usually I don't comment that often but your explanation rocks, nice job :)
@Arunmurali12
@Arunmurali12 Жыл бұрын
Thank you sir, this is the best explanation of the hook I had found on KZbin...
@cosdensolutions
@cosdensolutions Жыл бұрын
glad to hear it!
@konradmleczko3810
@konradmleczko3810 10 ай бұрын
you are teaching incredibly fine
@petar567
@petar567 Жыл бұрын
Have you considered making videos explaining how the different hooks work under the hood? Also thank you for the great explanation, I will definitely try this hook in my projects.💯
@cosdensolutions
@cosdensolutions Жыл бұрын
yes, but in the future! still doing beginner stuff for now :D
@OtisHenryChiemezie
@OtisHenryChiemezie Жыл бұрын
This is awesome 👌 I will try this with my search component. 🎉🎉🎉
@muneebahmad8772
@muneebahmad8772 Жыл бұрын
Your explanation is outstanding ❤
@sviatoslav8776
@sviatoslav8776 5 ай бұрын
Very comprehensive, cool)
@harag9
@harag9 Жыл бұрын
great video, thanks, that use hook will be so useful.
@duybachsnguyen1443
@duybachsnguyen1443 Ай бұрын
Thank you very much
@_ahmedaloush1365
@_ahmedaloush1365 8 ай бұрын
Thank you Bro the explain is amazing
@farhadkhoshnoodi7954
@farhadkhoshnoodi7954 2 ай бұрын
thanks was awesome...
@belkocik
@belkocik Жыл бұрын
What is the difference between useDeferredValue and use-debounce library (useDebounce hook) from npm?
@beepmcjeep5527
@beepmcjeep5527 Жыл бұрын
I believe useDeferredValue makes actual use of requestAnimationFrame or React's internal renderer scheduling. I'm guessing debounce is a naive (although probably equally effective) implementation utilizing a delay.
@austinstewart1451
@austinstewart1451 Жыл бұрын
Use-debounce also gives more control since you can pass the time argument. useDeferredValue will simply schedule the task to run separate from the primary state but you don't control the delay. use-debounce would be good for expensive server hits or areas that have heavy calculations and don't need to be rendered immediately so you can set it to a higher delay like 5 seconds.
@andriishtoiko7688
@andriishtoiko7688 4 ай бұрын
what if [stateVal, setStateVal] = useState({ hello: world }) -> stateVal is an object but it will not be brand new object on each rerender since it is saved in state - would be ok to pass stateVal into useDefferedValue?
@aissasemaoui6354
@aissasemaoui6354 Жыл бұрын
Thank you Darius, Can we use objects with useRef since it preserve the value between rerenders?
@cosdensolutions
@cosdensolutions Жыл бұрын
yeah useRef can be used with objects for sure!
@srinivasreddysagi8722
@srinivasreddysagi8722 2 ай бұрын
Seems like, debouncing is implemented
@belkocik
@belkocik 9 ай бұрын
10:36 what you mean? If I pass an array of object to this Demo component and then pass it to useDefferedValue hook it wouldn't cause an infinite loop?
@daydreamer9469
@daydreamer9469 Ай бұрын
If it’s still inside a React component I think it will cause infinite loop. Defining it outside the component or using useRef might avoid this issue.
@sunilanthony17
@sunilanthony17 11 ай бұрын
It seems similar to debounce.
@beepmcjeep5527
@beepmcjeep5527 Жыл бұрын
"teste" 😂
@USPSLaura
@USPSLaura 5 ай бұрын
How can I use it in real life project 😢
@shahabgohar3350
@shahabgohar3350 Жыл бұрын
it is kind of a debounce-ish
@snatvb
@snatvb Жыл бұрын
you forgot say about memo - without this hok you will have same issue I dislike useDeferredValue 'cause I can't control this debounce effect, and this work like debounce, looks unpredictable and can't be configured, nah
@Granta_Omega
@Granta_Omega 5 ай бұрын
This makes my testes hurt.
@chriscardone589
@chriscardone589 Жыл бұрын
Why don't you do full stack projects with all the best practices in React?
@cosdensolutions
@cosdensolutions Жыл бұрын
I will :)
Learn React Hooks: useLayoutEffect - Simply Explained!
9:17
Cosden Solutions
Рет қаралды 20 М.
Learn React Hooks: useCallback - Simply Explained!
17:15
Cosden Solutions
Рет қаралды 105 М.
Мама у нас строгая
00:20
VAVAN
Рет қаралды 11 МЛН
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 22 МЛН
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 8 МЛН
useTransition() vs useDeferredValue | React 18
16:22
Academind
Рет қаралды 96 М.
Learn React Hooks: useTransition - Simply Explained!
10:41
Cosden Solutions
Рет қаралды 29 М.
React useCallback hook - Simple and complete
18:07
Sali Can Code
Рет қаралды 134
Learn React Hooks: useImperativeHandle - Simply Explained!
9:54
Cosden Solutions
Рет қаралды 24 М.
Learn React Hooks: useReducer - Simply Explained!
13:48
Cosden Solutions
Рет қаралды 67 М.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 489 М.
Learn React Hooks: useMemo - Simply Explained!
13:41
Cosden Solutions
Рет қаралды 113 М.
10 React Hooks Explained // Plus Build your own from Scratch
13:15
Fireship
Рет қаралды 1,4 МЛН
The problem with useEffect
11:37
Cosden Solutions
Рет қаралды 35 М.