Mastering React Context: Do you NEED a state manager?

  Рет қаралды 97,092

Jack Herrington

Jack Herrington

Күн бұрын

Context in React is a super valuable tool, but can it replace a state manager? Let's find out!
Daishi's Book: www.amazon.com/gp/product/180...
Code: github.com/jherr/mastering-co...
👉 I'm a host on the React Round-Up podcast: devchat.tv/podcasts/react-rou...
👉 Don't forget to subscribe to this channel for more updates: bit.ly/2E7drfJ
👉 Discord server signup: / discord
👉 VS Code theme and font? Night Wolf [black] and Operator Mono
👉 Terminal Theme and font? oh-my-posh with powerlevel10k_rainbow and SpaceMono NF
0:00 Introduction
0:32 Project Setup
1:14 Prop Drilling
5:03 Context Using Prop Drilling
9:21 Multiple Contexts
10:38 Context Using useReducer
13:45 When To NOT Use Context
15:00 Context Versus State Managers
17:18 State Management With Zustand
22:13 Adding A Facade Layer
24:19 Fine-Grained Updates
25:38 Replacing Zustand With Context
29:37 When Context Updates Components
30:10 Context Using use-context-selector
32:40 Referential Identity Matters
35:03 Recommendations

Пікірлер: 270
@justine_chang39
@justine_chang39 2 жыл бұрын
honestly this channel is probably the best out there for deep dives into Typescript and React, love your content good sir
@tomascarignano5002
@tomascarignano5002 2 жыл бұрын
Agree
@SterlingCobb
@SterlingCobb 2 жыл бұрын
hey i’ve been following for a while now and this is solid. no gimmicks. pure education, learning and excellent content primarily focused in TS and JS +frameworks. would love to see Rust and wasam content integrated with js. excellent work. can’t wait to see your channel blow up beyond 100k.
@BillBakerB
@BillBakerB 2 жыл бұрын
Great team advice too, even you know the libraries already, "What is easier to review?" is a helpful perspective.
@hanmingzheng5592
@hanmingzheng5592 2 жыл бұрын
I was 2 videos and decide to subscribe. This channel got the real stuff compared to so many other KZbinrs pretending to be professional developers.
@Gruby7C1h
@Gruby7C1h 2 жыл бұрын
True, this channel deserves to be much bigger - lots of knowledge and very good production quality.
@thatboyneedstherapy
@thatboyneedstherapy 2 жыл бұрын
For my money, when it comes to getting these concepts across in an accessible way that goes beyond the superficial while avoiding being mired down, you are absolutely unbeatable. It's a fine line but you walk it expertly!
@bythealphabet
@bythealphabet 2 жыл бұрын
Love how you Made the comparison between Context and Zustand. I always use Context and didn’t see why I should consider other state management tools. Thank you Jack
@tiennsloit
@tiennsloit Жыл бұрын
I don't understand why youtube didn't recommend your channel to me earlier. This video is not only about mastering React context but also the way you refactor/repurpose the components for the use of context and other state managers. Thanks so much because I learn a lot from it.
@mostafasaffari3878
@mostafasaffari3878 2 жыл бұрын
These series of mastering are amazing, Thank you very much man, I have learned lots of things from you and I owe you a lot :)
@Kahitar1
@Kahitar1 Жыл бұрын
Insanely good video. Perfect level of detail and nice comparison between the different options. I learned a lot from this.
@danbacila5257
@danbacila5257 2 жыл бұрын
Amazing content, I have been following the channel for a while now. As a Junior dev I can say that this channel motivates me to dive deeper into concepts and try them out on my own in a series of little projects. Keep up the good work and high quality content, Jack!
@ogreeni
@ogreeni Жыл бұрын
Fantastic comprehensive overview! Love your videos Jack, been following you for a long time now.
@lucasishuman
@lucasishuman 2 жыл бұрын
Incredibly clear and helpful demo. Please keep doing what you're doing. Your channel is by far the best I've found at showing both "the how" and "the why" of very specific and practical React + TypeScript in a very accessible way.
@tabliqatchi6696
@tabliqatchi6696 Жыл бұрын
Amazing video Jack, I really enjoy watching the way you write and talk about code. Your channel is absolutely phenomenal.
@viyicciyiv
@viyicciyiv 6 ай бұрын
Never really understood what context and Redux do, and you explain it so well with clear examples. Thank you!
@fadehelix
@fadehelix 2 жыл бұрын
Thank you for this episode. In my personal ranking this is the best Context explanation I've ever seen
@siriusplayz5871
@siriusplayz5871 Жыл бұрын
WOW! I mean really WOW... You are such a GREAT teacher. Teaching with examples and passing down all that precious knowledge with such an ease. Brilliant. I'm a fan. First video I watch on your channel and I'm subbed forever. I just started learning React 2 months ago and this helps a looootttttt. Thank you sooooo much man. I'll keep coming back for more knowledge as I need to get a job very soon, hopefully.
@AmodeusR
@AmodeusR 2 жыл бұрын
It's really neat how you go building the example structure till you get on the topic of the video instead of already showing everything done and and explaining. I really liked that :D
@pendyaaa
@pendyaaa 2 жыл бұрын
This is a really really awesome video. Way Way better than all those tutorial style videos which only is a regurgitation of documentation. This actually deepens my understanding and give me ability to judge new state management tools for myself
@universecode1101
@universecode1101 2 жыл бұрын
Mastering with the MASTER 🔥Every video is great, sometimes too much 😄, I mean I have seen the video even twice because you reach a high level, but with you Jack, I can improve my skills. Thanks ✌🏻
@shike769
@shike769 2 жыл бұрын
Watched 2 of your videos. great content, very informative and very well edited. Thanks a lot for the effort
@braingamedotcom
@braingamedotcom Жыл бұрын
This is a high quality video with great content, something really refreshing on KZbin! Thank you very much 🙏
@noccer
@noccer 2 жыл бұрын
Terrific video, and very topical for my team at the moment as it would happen. Thank you as always ☘
@jacobgoldenstreet6246
@jacobgoldenstreet6246 2 жыл бұрын
Wow. Fantastic tutorial. Your teaching is very clear. Super helpful. Thanks!
@tonyg_nerd
@tonyg_nerd Жыл бұрын
There is a ton to digest here. Will be watching this many times. Thanks Jack!
@stevebob240
@stevebob240 Жыл бұрын
Exactly what I needed, still getting familiar with React and Next JS. Thanks!
@marksalsbery9826
@marksalsbery9826 Жыл бұрын
Another great video….it’s amazing how many little things I learn mixed in with the major topic stuff. Thank you! Also, you are a great salesman for Copilot…the more I watch you write code the more I want it!
@teerapatprommarak2070
@teerapatprommarak2070 2 жыл бұрын
This is really really GREAT content Jack, thank you!
@prathameshmali3888
@prathameshmali3888 2 жыл бұрын
The comparison is really good, especially with the profiler. Didn't know that context will make those many changes to the tree. Thank you Jack for the awesome video!
@AbdelhameedG
@AbdelhameedG 2 жыл бұрын
Thank you, Jack, You have the best Front-end channel on YT. Keep it up.
@stefan9599
@stefan9599 2 жыл бұрын
Great content as always. Thank you Jack!
@haquocviet9253
@haquocviet9253 2 жыл бұрын
Great content and easy to understand. Thank you so much
@olyvar
@olyvar 7 ай бұрын
So much great things covered in this video. Also a shout-out for passing the set state as a prop and using the callback to get the state value. I never thought of that before!
@Kelz_369
@Kelz_369 Жыл бұрын
Wowww 👏 this is the most thorough explanation on state management I've come across on yt. Definitely sub to this channel. Thanks!
@yassinebi337
@yassinebi337 2 жыл бұрын
Great video, I’ve learnt a lot from your youtube channel, keep up the great work. Greeting from Morocco.
@tonystark4416
@tonystark4416 Жыл бұрын
Thanks! This was really helpful, even though I probably need to rewatch and read the docs a couple of times still
@petarkolev6928
@petarkolev6928 Жыл бұрын
Thank you for the wonderful video, Jack! I work in this industry for 5 years and yet I found all of your videos amazing and incredibly informative! All your videos are precious gems :) Only one thing I found a little bit hard to follow is the pace you go through your code in the editor. Personally, for me is a little bit hard to follow with that speed. May be for others is okay :) Thank you once again for the cool stuff you're showing to our fellow programmers :)
@spirostsakoulis797
@spirostsakoulis797 Жыл бұрын
Thank you so much for this great tutorial!
@psychobuddha5379
@psychobuddha5379 Жыл бұрын
I am pretty impressed with how easy and clearly he manages to explain these concepts... Zustand sounds pretty interesting, I am definitely gonna try it.
@Peter911
@Peter911 2 жыл бұрын
Best in depth explanation and for free woow you are amazing .. Thank you
@HeinekenLasse
@HeinekenLasse 2 жыл бұрын
Amazing video Jack, thanks for the effort
@javierjrueda1722
@javierjrueda1722 2 жыл бұрын
Thank you so much for this video. Really useful.
@igotbit9454
@igotbit9454 2 жыл бұрын
Love this channel!!!!!!!!!!! My go-to for React/JS stuff cause it covers more than just the basics which is what is needed in the real world env. Thx for the vids Jack!
@igotbit9454
@igotbit9454 2 жыл бұрын
PS. these days i'm using Apollo Cache/Reactive variables to pass state around instead of React Context but React context is great too.
@okiirawan9578
@okiirawan9578 2 жыл бұрын
easy peasy lemon squeezy, thats the master said. Another very informative contents, so excited to watch your videos 🔥🔥🔥
@1Malak16
@1Malak16 2 жыл бұрын
Thank You! Briliant as always.
@marcelwopperer9776
@marcelwopperer9776 2 жыл бұрын
adding this facade layer is genious
@parassharma7041
@parassharma7041 Жыл бұрын
I'm new to your channel, loving your videos great content and thank you for teaching with great easy way 😀
@farzadmf
@farzadmf 2 жыл бұрын
VERY GOOD explanation, thank you!
@lancerdonnie
@lancerdonnie 2 жыл бұрын
You really know your stuff. This is where I strive to be in the future
@mistersir3185
@mistersir3185 Жыл бұрын
Just when wet thought we don't deserve this a high quality educative content, you showed up and said we deserve it.
@chrisprenn
@chrisprenn 2 жыл бұрын
Awesome video thank you so much!
@orthostice
@orthostice Жыл бұрын
I think this video changed my life. Well, my frontend architecture but same thing right now.
@JamesBond-mc7kl
@JamesBond-mc7kl Жыл бұрын
I just start career in React js and found the great video that is helpful for me
@draikentz
@draikentz Жыл бұрын
What's funny to me is that I see this video after seeing the newer "Do you NEED context?" videos :D
@garywaddell6309
@garywaddell6309 Жыл бұрын
Hey Jack I have been watching video after video of yours. I am still in my deep dive of React and MFE's so would be curious if you had a video on managing State / Context via Module Federation, specifically around JWTs and how to control flow in MFEs for valid / invalid sessions. I'll keep looking through your library but this video along with every video you make is so informative. Thanks for publishing such amazing content!!
@olabiranjoshua2860
@olabiranjoshua2860 2 жыл бұрын
This is such a rich content. Thanks for this Jack 👏🏽👏🏽👏🏽
@drakephillips7613
@drakephillips7613 2 жыл бұрын
Thank you very much, sir. Great content.
@tarek_maza
@tarek_maza Жыл бұрын
An awesome resource for understanding state management in React!
@bielgaucho_real
@bielgaucho_real Жыл бұрын
I always asked why people use redux for everything, while they could achieve the same with context or simpler state management libs. This video is proof of it. Unfortunately using context takes a lot of care to avoid re-renders, but zustand demonstrate it can look simple and do the job.
@jherr
@jherr Жыл бұрын
Just remember to make sure you use selectors with your zustand hook. :)
@hristoenev6733
@hristoenev6733 2 жыл бұрын
Really good content! Thank you.
@armandsalle8447
@armandsalle8447 2 жыл бұрын
Really nice video! Thank you 🤯
@sumitwadhwa8823
@sumitwadhwa8823 2 жыл бұрын
Even some of the paid content out there is not as impressive as your content sir. Thank you so much.
@ninabohm1535
@ninabohm1535 3 ай бұрын
Thanks Jack, very helpful!
@krazymeanie
@krazymeanie 2 жыл бұрын
Bruh this channel is a blessing
@trenthm
@trenthm 2 жыл бұрын
Great video! Very educational
@rdubb77
@rdubb77 11 ай бұрын
In the dark and dangerous world of React over complexity you are beacon of understanding and hope
@mateuszkulesza8528
@mateuszkulesza8528 Жыл бұрын
Great video, Zustand looks very promising
@hamedmatari2577
@hamedmatari2577 Жыл бұрын
Finally I got the answer of this famous question, what is difference between redux and context. Your channel was always the best. I guess every body can find their question's answer in your channel. good to have you jack🤩
@Tarabass
@Tarabass Жыл бұрын
You did it again. I'm a developer for decades now and to be honest, I'm getting very annoyed by all those wanna be's out there. I'm trying to level up my knowledge about react (although I hate it) and every ninja is telling you to use context for global state. My guts feeling told me that is not a good idea. I don't want to rerender everything to update some fields. I even think that prop drilling is better. I follow your channel for a long time now and I'm glad you gave me the answers I was looking for. In a decent and professional way with proper knowledge and terminology. Thank you!
@karnellschultz6446
@karnellschultz6446 2 жыл бұрын
Great stuff as always
@eleah2665
@eleah2665 2 жыл бұрын
The University of React State is back in session! Thanks Jack. I will want to get Mr. Kato's book.
@prabhatsachdeva7747
@prabhatsachdeva7747 2 жыл бұрын
LOVING THIS MASTR SERIES 🖤
@zoaybk
@zoaybk 2 жыл бұрын
Amazing 🔥🔥🔥 thanks, as always
@ounicohenrique
@ounicohenrique 2 жыл бұрын
Great video, thanks.
@sergeitinc
@sergeitinc 2 жыл бұрын
Thank you so mush Jack!
@juanpasten6077
@juanpasten6077 Жыл бұрын
Thanks so much for create and share
@wisdomcube7789
@wisdomcube7789 2 жыл бұрын
Happy Valentines Day... also great content as always, thank you
@BensTechLab
@BensTechLab 2 жыл бұрын
Let me just say what no one else notices… your video lighting and green screen setup is superb! 🙌 As a video guy I know this takes a bit of a setup/tweaking to get such a clean key without green spill around you.
@jherr
@jherr 2 жыл бұрын
Thanks. I've been working on it and improving it over time. I think the most recent videos have been pretty solid.
@apresthus87
@apresthus87 2 жыл бұрын
I used to use Redux (Redux toolkit to be precise) and it's still used for one of my active projects but in my latest project where I created my own CMS from scratch I used purely React Context for local state management and it was a very good experience. It's not like I dislike Redux toolkit (which is a pretty big upgrade on regular Redux imo when it comes to dev experience), but it was really nice to not have to put in a ton of dev time for the project on just state management.
@heangly7449
@heangly7449 Жыл бұрын
Jack, you are so amazing. I would be so happy if you can create full stack web development course. I am sure many people (including me) are willing to pay for your course.
@sarthak1317
@sarthak1317 4 ай бұрын
thanks for the ecommerce example, adding it to the project section in my resume. A full fledged ecommerce app with login logout and add to cart functionality 😎
@tombyrer1808
@tombyrer1808 2 жыл бұрын
Thanks for the deep but not too deep dive in the various state managers; will help my on my next project! Also thanks for the chapters. :)
@maksym7279
@maksym7279 Жыл бұрын
Great! Thanks!
@GusGabriel
@GusGabriel 2 жыл бұрын
Amazing!!!
@tahamanna3600
@tahamanna3600 4 ай бұрын
great video!
@doriandoussain1528
@doriandoussain1528 Жыл бұрын
My nextjs mentor, thx man
@sumanth3036
@sumanth3036 Жыл бұрын
You just dont stop at a superficial layer. Thanks a ton!!!!
@user-kt5jw2cd7e
@user-kt5jw2cd7e 2 жыл бұрын
Thank you Jack
@erindhoxha8607
@erindhoxha8607 Жыл бұрын
Hi Jack, thanks for the great video, I've learned a ton. I have never heard of Zustand before and it seems very interesting for my future projects. Would you use it instead of redux?
@vijitail1979
@vijitail1979 Жыл бұрын
Hey Jack, great explanation as always! Just curious to know that when you used use-context-selector, why did the wrapper re-render?
@parubok
@parubok Ай бұрын
Thanks!
@Luxcium
@Luxcium Жыл бұрын
I have kind of learned HTML a thousand times over the years and skipped it because JS and CSS where so cool but HTML is so basic it is thought only to beginners I think you are the perfect person to teach us (i.e. We already know * "Hypertext" refers to links that connect web pages to one another, either within a single website or between websites*) you must do an HTML tutorial for people who knows the basics and give us the advanced tools to master HTML in the context of React and with the minimal CSS or styling possible for it to be interesting but focusing only on HTML (in the context of React probably)… 😅😅😅😅 I would love to get my HTML certification 😉😌😜
@thefonsotube
@thefonsotube 11 ай бұрын
Great content sir! Do you have a video comparing Zustand and Redux Toolkit?
@harvenius
@harvenius 2 жыл бұрын
Your office environment is amazing.
@Mostafaabobakr7
@Mostafaabobakr7 2 жыл бұрын
I love your channel
@jakemetz1742
@jakemetz1742 Жыл бұрын
Always amazing content that’s prepared so well. Curious, what tools you use to make your videos? Would love to dem to my team in the same format
@jherr
@jherr Жыл бұрын
I use ScreenFlow to capture the screen. If I drew on the screen then I was using ScreenBrush and a commodity Gaomon drawing tablet. And then for post production I use the Adobe Suite. Honestly through, in most cases you could get by the just using ScreeFlow and a decent microphone.
@mwaqze
@mwaqze 2 жыл бұрын
Hello Jack, it's great to watch videos on react hooks mastery. Can you create a playlist with the title "React Mastering" with all the videos related to React Mastery please? That'll be really helpful. Thank you.
@ivuga1800
@ivuga1800 Жыл бұрын
Thank you for the video! Where I can get same syntax highlighting?
@elwoseopenstepcrew1134
@elwoseopenstepcrew1134 Жыл бұрын
amazing content
@alexshepel9387
@alexshepel9387 2 ай бұрын
Nice!
@pHBonheur
@pHBonheur 2 жыл бұрын
Amazing video! You are super enthusiastic when you speak, making your videos so great to watch. - @Jack What zsh extensions/setup do you use? Your auto completion and theme look really great! 👌
@jherr
@jherr 2 жыл бұрын
Fig. Thanks for watching!
@jp0678
@jp0678 2 жыл бұрын
While I'm kind of already familiar with this concept, I still learn some new stuff here and there when you explained it. Thanks! By the way, what extension do you use for that autocomplete?
@jherr
@jherr 2 жыл бұрын
GitHub Copilot.
@jp0678
@jp0678 2 жыл бұрын
@@jherr Oh, I see. Thank you!
@neelabhdutta6691
@neelabhdutta6691 2 жыл бұрын
Amazing
@korkmazsalim
@korkmazsalim 2 жыл бұрын
Thanks Jack great content . Btw is there a solution in zustand for creating state slices and naming them so when project gets bigger we can inspect them by redux toolkit with the slice names ? ( i can combine at store but they are spreaded in toolkit).Thank you..
@jherr
@jherr 2 жыл бұрын
You make multiple stores. I think that's the basic idea. One store per, what you would categorize as a "slice".
Must Know React Portability Patterns
33:35
Jack Herrington
Рет қаралды 25 М.
Making React Context FAST!
33:34
Jack Herrington
Рет қаралды 85 М.
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 10 МЛН
Mastering React Memo
26:56
Jack Herrington
Рет қаралды 132 М.
Context API in react | get the concept
29:00
Hitesh Choudhary
Рет қаралды 41 М.
Five React App Killing Anti-Patterns 🪦😱
12:47
Jack Herrington
Рет қаралды 31 М.
Mastering React's useEffect
25:20
Jack Herrington
Рет қаралды 171 М.
You're Doing React Hooks Wrong, Probably
20:11
Jack Herrington
Рет қаралды 64 М.
Открываем все секреты React Context API
1:01:11
АйТи Синяк
Рет қаралды 21 М.
Five Clever Hacks for React-Query and SWR
40:09
Jack Herrington
Рет қаралды 58 М.
Don't Use React Context!! Use This instead
13:34
CoderOne
Рет қаралды 26 М.
Goodbye, useEffect - David Khourshid
29:59
BeJS
Рет қаралды 494 М.
#miniphone
0:16
Miniphone
Рет қаралды 3,2 МЛН
MacBook Air Японский Прикол!
0:42
Sergey Delaisy
Рет қаралды 534 М.
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 2,9 МЛН
Нашел еще 70+ нововведений в iOS 18!
11:04