State Managers Are Making Your Code Worse In React

  Рет қаралды 140,309

Web Dev Simplified

Web Dev Simplified

Күн бұрын

One of the first things most people do when creating a new React application is install a state management library. This is something that used to be necessary to create a React application, but with the improvements to React and the tooling around React state managers are really not needed for most applications.
📚 Materials/References:
Next.js Ecommerce Project Video: Coming Soon
🌎 Find Me Here:
My Blog: blog.webdevsimplified.com
My Courses: courses.webdevsimplified.com
Patreon: / webdevsimplified
Twitter: / devsimplified
Discord: / discord
GitHub: github.com/WebDevSimplified
CodePen: codepen.io/WebDevSimplified
⏱️ Timestamps:
00:00 - Introduction
00:58 - Prop Drilling
02:42 - Global State
04:28 - Context
06:38 - Reducers
07:37 - State Reconciliation
08:25 - Meta Frameworks
10:02 - URL State Management
10:57 - When To Use State Management Libraries
12:36 - Example App
#ReactJS #WDS #StateManagement

Пікірлер: 394
@kmellia
@kmellia 2 ай бұрын
I'm a junior developer and have been following your channel for a while now because your courses are so easy to understand. However, I was wondering if you could make videos about how to maintain and update a project when there are new packages and/or frameworks versions, and how to configure things like imports, Prettier, etc. We always see videos about coding, but I think configuration, infrastructure, and maintaining projects are also very important.
@miervaldis42
@miervaldis42 2 ай бұрын
Yes, that would be cool Also configuring a simple CI pipeline, Docker, automatic versioning, monorepo, etc...
@spongebob93lover
@spongebob93lover Ай бұрын
Agree! Being a web developer now is not only about coding but also all those things you mentioned and I find it difficult to proceed as a junior
@TheStickofWar
@TheStickofWar 4 күн бұрын
You’ll never get him to do this because frankly it’s a very difficult topic that is quite deep. And he goes very surface level on most topics on KZfaq. For example, something like Zustand is great. So this video is kind of moot
@ElatedBlue
@ElatedBlue 2 ай бұрын
This was an amazing video! Specifically, I liked you going through a short summary of the history where you explained problem -> solution, problem -> solution. I think it is infinitely more useful to understand why things are used/developed as opposed to the common 'this is industry standard, use this for x'
@adtc
@adtc 2 ай бұрын
Thank you for not saying there is "state" in server components. It tripped up a lot of people.
@bama2619
@bama2619 2 ай бұрын
Kyle, thank you for the right info. I love your explanations. I just about to brush up state management in React. You gave the view of all the state panorama. I have still many things to learn. Really waiting for your next video with the project you mentioned.
@ParaZumir
@ParaZumir 2 ай бұрын
PLS use more drawings like in this video. It makes it much easier to understand. Awesome channel
@TienNguyen-og5eo
@TienNguyen-og5eo 2 ай бұрын
Yeah, I finally understand on big scale the props drilling issue.
@Leightym
@Leightym Күн бұрын
Yes! And what tool are you using to make those drawings?
@Yoband706
@Yoband706 2 ай бұрын
I have literally spent the last month removing impossibly intertwined and implicit state and putting it in the URL. This has allowed for deeplinks, bookmarking and easier to read code, test and re-use code. I am of the opinion you most likely don't need state management in almost all work you do. Thanks for the vid!
@deshi-sukuna
@deshi-sukuna 2 ай бұрын
server state with react query is my go to and always will be 🐐
@Yoband706
@Yoband706 2 ай бұрын
@@deshi-sukuna indeed. The server is (almost always) the real state. We are here to make buttons ands
@vickylance
@vickylance 2 ай бұрын
​@@deshi-sukunawhen you say server you mean like next js server or like actual server API?
@deshi-sukuna
@deshi-sukuna 2 ай бұрын
@@vickylance i mean actual server api 😃
@vickylance
@vickylance 2 ай бұрын
@@deshi-sukuna ok cool
@mountakhabi
@mountakhabi 2 ай бұрын
React Query (Tanstack Query) is also a good way to store requested data with the build in cache
@JesseSlomowitz
@JesseSlomowitz 2 ай бұрын
I've been a huge fan of what Preact Signals has done for React. I've been using that for state management on the client side. (And it's also really smooth for passing state around in Svelte).
@dereksniper
@dereksniper 2 ай бұрын
This is what i want to try on my next project
@BboyKeny
@BboyKeny 2 ай бұрын
Knockout had it right
@osaka-ben9291
@osaka-ben9291 2 ай бұрын
I'm using Nextjs and i already figure it out that state was no longer needed in my application because i prefer using SSR and page be generated server side to gain performance which is a great thing but when you have client interaction to filters blog for example , i thought there were no other way to deal with states so thank you so much for the URL parameters tips , didn't think about that and i'm gonna apply this idea right away :)
@Shyam_Mahanta
@Shyam_Mahanta 2 ай бұрын
These ideas are for small web apps. For a scalable management app or a eCommerce app you do need state manager and all that
@hollycow8171
@hollycow8171 29 күн бұрын
​@@Shyam_Mahanta you can still use json or cookie.
@StefanoV827
@StefanoV827 2 ай бұрын
I basically use only RTK for the login reducer with persist to keep the user logged, and RTK query (so same package) for api fetch because it manages the cache and allows me to avoid too many requests to the backend. That's it.
@marvinkr
@marvinkr 2 ай бұрын
Got a code example?
@StefanoV827
@StefanoV827 2 ай бұрын
@@marvinkr you can get all the examples on RTK query docs. Also RTKQ allows you to avoid using useEffect, cause it reloads automatically the widget on data change. Also you can launch multiple fetchs sequentially using "skip" option, so convenient!
@buzz1ebee
@buzz1ebee 2 ай бұрын
The code gen for rtk query is really nice too. If you have accurate openapi specs for your back end (either because you define the openapi spec and also generate the backend, or you generate the openapi from your backend) then you can just run a command to have all of your data fetching and mutations created for you automatically.
@Osirisdigitalagency
@Osirisdigitalagency 2 ай бұрын
What about the client side State management like e-commerce carts and themes
@StefanoV827
@StefanoV827 2 ай бұрын
@@Osirisdigitalagency yeah you can do it with reducers as usual with RTK
@tom.watkins
@tom.watkins 2 ай бұрын
I avoid using state management libraries until I have an exact use case for one in the project. It's surprising how far you can get without having any need for one
@Stevexupen
@Stevexupen 2 ай бұрын
you'll find that if you avoid state management libraries, you'll start creating better reusable components.
@talleyrand9530
@talleyrand9530 2 ай бұрын
What do you think of cookies to manage states in server components?
@paccioti
@paccioti 2 ай бұрын
react hook form, context and TanStack Query is all you need for your app
@snake1625b
@snake1625b 2 ай бұрын
React routers url params too
@TienNguyen-og5eo
@TienNguyen-og5eo 2 ай бұрын
You mean React Query ?
@paccioti
@paccioti 2 ай бұрын
yup that's the one @@TienNguyen-og5eo
@paccioti
@paccioti 2 ай бұрын
@@snake1625b for routers that basically goes by default if your not using next
@stevinjack5062
@stevinjack5062 2 ай бұрын
@@TienNguyen-og5eo Yeah TanStack Query is called React Query back then. They just changed the name. They two are the same.
@SilonSilon
@SilonSilon 2 ай бұрын
I used only contexts/reducers in my last few projects and it was a best decision I made. For more complex state I use two combined contexts - one for state, one for actions and it works perfect
@Shyam_Mahanta
@Shyam_Mahanta 2 ай бұрын
Re rendering how would you avoid it?
@chinmayghule8272
@chinmayghule8272 2 ай бұрын
Got any code examples?
@cauliflow3r1337
@cauliflow3r1337 2 ай бұрын
i really cant wait to watch your upcoming video on this topic )) cuz its the exact thing that Im struggling with while working on my project
@faroukbello164
@faroukbello164 2 ай бұрын
Thank you for the insight, it's was really helpful.
@chawkichalladia1812
@chawkichalladia1812 2 ай бұрын
here's my opinion on state management. you need 3 types of states. global client state, server state or async state, and scoped state (client state under a single branch of the app tree, basically only considered global for the children of the component where they are defined). I prefer Zustand, reaact query and context for them in order.
@aliasalias510
@aliasalias510 2 ай бұрын
Agree but for the third I would add the following: As long as the tree hierarchy in that "ui-branch" is not too deep and complex (and not expected to), try to use as much local state and other techniques like prop drilling as possible and only use context if necessary. This will "force" the devs early on to really think about seperation of concerns and clean architecture instead of putting everything in a semi-global state (making it better for testing and maintainability)
@chawkichalladia1812
@chawkichalladia1812 2 ай бұрын
@@aliasalias510 it doesn't scale well. If it's 2 or 3 components deep it's fine but if you drill deeper it becomes a nightmare. I inherited a big project that has that issue. It forced me to think about context for components instead of for the app.
@aliasalias510
@aliasalias510 2 ай бұрын
@@chawkichalladia1812 well thats exactly what i meant with "if its not to deep...". So i understand. Same here. Nothing to argue about
@chawkichalladia1812
@chawkichalladia1812 2 ай бұрын
@@aliasalias510 not arguing just discussing
@thedelanyo
@thedelanyo 2 ай бұрын
I love how Svelte solves - very simple and intuitive and it's baked in the language.
@maryamahmedseager142
@maryamahmedseager142 2 ай бұрын
THIS is the video I've been looking for! Thank you so much for sharing the latest features in React that remove the need for state management libraries. I'm building a social media website (similar to twitter), based on your video this would be a good use case for state management libraries like Redux? Appreciate any feedback (btw just subscribed)🙏
@marcteufel8348
@marcteufel8348 2 ай бұрын
Only read the title, not yet seen the video itself, but thought : "Thats why we're mainly using selfcoded stores written in plain Java/TypeScript living in the module scope of the application, keep it simple, keep it small".
@jordanfarr3157
@jordanfarr3157 2 ай бұрын
Yes!!! This!
@anushasurakala5975
@anushasurakala5975 2 ай бұрын
Thank you kyle....eagerly waiting for the project
@RUFeelin
@RUFeelin 2 ай бұрын
What app is being used to draw/illustrate?
@bezimienny5149
@bezimienny5149 2 ай бұрын
Maybe Excalidraw
@liban7032
@liban7032 Ай бұрын
What website are you using for the diagrams and stuff?
@Grenade034
@Grenade034 25 күн бұрын
excalidraw I suppose
@waleedsharif618
@waleedsharif618 2 ай бұрын
Yo said that you used url for that project at the end of the video so does it mean you also put Card Number input value to url ? Isnt it bad thing to do ?
@vigneshwarrv
@vigneshwarrv 2 ай бұрын
yeah we cant put sensitive data in URL. It destroys its glorious purpose😅
@BrianThorne
@BrianThorne 2 ай бұрын
Hi love to start problems huh
@user-hw1bc5nq4m
@user-hw1bc5nq4m 2 ай бұрын
Thanks for your share, what’s the app you are drawing?
@georginreji1945
@georginreji1945 2 ай бұрын
Excalidraw
@oerbyy
@oerbyy Ай бұрын
Plus to the question!!!!!!!!!!! Please share!! 🙏
@adamzalesak
@adamzalesak 2 ай бұрын
No, please don't use Context with Reducer for state management. It is not optimal (re-rendering due to the lack of selectors), much boilerplait needed especially in TS. Jotai is much better option if you need to manage global client state.
@mineturtle1841
@mineturtle1841 2 ай бұрын
This. I ran into a problem because of this like 2 years ago and it was painful to debig and fix. Context is good but shouldnt manage a global state, it is not the purpose of it
@digitaldevigner4080
@digitaldevigner4080 2 ай бұрын
This also helps for deep links and smart links that are url based. If you want to pass a user from a web app to a mobile app you have to do via url.
@zb2747
@zb2747 2 ай бұрын
Reasons why I like Vue Vuex/Pina: One state management library that gets the job done Less time worrying about state management and more time building
@Su-xs1yr
@Su-xs1yr 2 ай бұрын
yeah! Agree with you🎉 When encounter complex business logic, you will be happier developing with Vue.
@riya6549
@riya6549 2 ай бұрын
I learn state management this week and then this video pops up 😆
@jacobhuiet4217
@jacobhuiet4217 19 күн бұрын
This follows what I believe as well, though I happen to be in that 1% that’s working on a complex state heavy web application. I will say tools like Tanstack query and redux toolkit (in particular rtkquery) go a long way in reducing the need to worry about state (these libraries let you treat data from endpoints as external state so to speak). Not usually used with nextjs but we aren’t using next
@JakubSK
@JakubSK 6 күн бұрын
Also, React Context is definitely **not** a mess. It's so easy to use to organize state. Never had an issue with it. Lots of disagreements around storing state in the URL. Search parameters are 100% not a store. Search params are strictly to be used when conducting a "search". Also, state on the db kind of makes sense, until you're dealing with a UI, front-end client-side state, and not a federated state. There would also be too many occasions where it would be ridiculous to re-fetch data over and over from the server, it just leads to too much friction.
@tj-softwaresolution
@tj-softwaresolution 2 ай бұрын
So if a webapp has not to many states we can use nextjs but if it has to deal with to many states and state changing (interactions) we should use react?
@nemeziz_prime
@nemeziz_prime 2 ай бұрын
Seems you think NextJS is a state manager. No! In React or any framework, if your state is not too complex, you can use useState to manage state. If you want, you could also use URL based state management. If a considerable amount of state is shared (global), then you should use a State Management library like Zustand or Jotai or Redux
@dawidm9768
@dawidm9768 2 ай бұрын
What is the name of the app you are using for drawing concepts?
@v.reagan
@v.reagan 2 ай бұрын
Excalidraw
@azulay7
@azulay7 21 күн бұрын
What tool are you using, to sketch the diagram?
@alejandroangongandara678
@alejandroangongandara678 2 ай бұрын
"Thanks for watching" No man, Thank you for sharing. ❤
@AlanGramont
@AlanGramont 10 күн бұрын
I agree. I was on a project in 2020 as a contractor that REQUIRED all state to be maintained through Redux. The amount of worthless code I had to write and test was beyond belief. The project was a nightmare to work in. And the worst part about redux is that the state never goes away unless you clean it up. I can see using Context for supply a tree of sub-scomponents within a UI stack a shared state. I can see using TanStack Query for API data since it will destroy itself and can be managed like a little database. But beyond that, I try to avoid state management as much as possible. NextJS makes things a lot easier, of course, but getting large companies with hard policies to allow nextJS can be difficult because they want all their apps to use the same framework.
@serg472
@serg472 2 ай бұрын
I think passing state down the tree is not the main problem a state management library solves. The really nasty side of react is dealing with a state that's an object, containing arrays of objects, etc. It becomes very difficult to correctly merge updates to this state to avoid unnecessary re-rendering, or to force re-rendering when needed. This is the most nasty and difficult part or react, which they didn't really solve to this day, and that's why all those libraries were invented and continue being invented - to deal with state updates. State passing can be solved with the context, but state merging is still a big pain and Achilles' heel of the whole react universe. I was spending endless hours trying to figure out unexpected rendering issues every time (which you don't have direct control over as it's all react magic which is the worst part) until tried MobX and it finally all started working together just like I always expected without any weird unexpected side effects.
@jNayden
@jNayden Ай бұрын
hey man what software are u using for drawing this diagrams ?
@Grenade034
@Grenade034 25 күн бұрын
excalidraw
@elvisjackson808
@elvisjackson808 2 ай бұрын
What's that whiteboard you're using?
@paulmouchel3641
@paulmouchel3641 2 ай бұрын
Excalidraw
@v.reagan
@v.reagan 2 ай бұрын
@@paulmouchel3641 Thanks a lot!
@VortexMaster98
@VortexMaster98 Ай бұрын
what is the drawing program hes using in the beginning?
@VortexMaster98
@VortexMaster98 Ай бұрын
Its called excalidraw for anyone wondering
@harshrathod50
@harshrathod50 2 ай бұрын
This video is summary of actually my 1 year of experience and in that I learnt all this while working on company projects.
@kirillvoloshin2065
@kirillvoloshin2065 2 ай бұрын
mobx does the job for our project ideally
@berniko4954
@berniko4954 17 күн бұрын
Every state management works
@YakovL
@YakovL 22 күн бұрын
Great videos, very concise and to-the-point, thanks!
@snake1625b
@snake1625b 2 ай бұрын
In my company's legacy app we would make queries with Apollo and then stick the entire response in zustand. It was only later we realized that Apollo has it's own cache that behaves like the store. In our rewrite it was our policy to not stick everything in the store
@goncaloshred
@goncaloshred 2 ай бұрын
How do you move states to the server? I dont understand what you mean by that... Thanks for the video.
@BrianThorne
@BrianThorne 2 ай бұрын
It's the source of state. That means stop mangling stuff in the react code
@igors.2943
@igors.2943 2 ай бұрын
Context causes rerenders of all wrapped children. It's recommended to use it only for things like user or theme that don't change frequently.
@Fanaro
@Fanaro 2 ай бұрын
Really looking forward to that tutorial!
@markeem321
@markeem321 2 ай бұрын
So, it depends also on ur backend technology, correct?
@igots
@igots 2 ай бұрын
I'd be curios to see how your demo app at the end of your video does with react dev tools showing rerenders?
@igots
@igots 2 ай бұрын
If that results in lots of re-renders it could be a great video for you to walk through resolving those.
@stazchristo
@stazchristo 15 күн бұрын
For super complex web Apps I have been leaning for Redux for global state and localized hooks for fetching and very localized contexts for purely sharing props to avoid excessive prop drilling. This way you can avoid context hell and make it a rule to not make contexts dependent on each-other.
@sylum4277
@sylum4277 2 ай бұрын
Zustand is so good that you should not bother with reducer and context hooks other than to feel how painful it is to use them, so that you would be able to appreciate zustand even more.
@Franck_Polla
@Franck_Polla 2 ай бұрын
Thank you bro you are a savior 😊
@devrsion
@devrsion 9 күн бұрын
One thing you're wrong: you can use some Hooks with React Server Component, like useId, use.
@munna5553
@munna5553 2 ай бұрын
Please make video on redux complete i have lots of confusion
@andrewwall2730
@andrewwall2730 2 ай бұрын
I somewhat disagree. Though your project may begin as a simple app not needing global state management, it may grow in complexity and features pretty quickly, and useContext, useReducer will not scale. Why not start with a global state manager, though there may be a bit more setup and boilerplate code, it will scale and is pretty simple to implement.. Don't really understand the dis on redux. That lib with redux-saga allows to build large projects that once setup will just work. Lower maintenance, ease of testing need to be considered.
@Cognitoman
@Cognitoman Ай бұрын
I like redux still
@abderrahmanebenchalel541
@abderrahmanebenchalel541 2 ай бұрын
I think it depends on the project requirements, so some times we need client state more, some times we need server state more.
@tombrauey
@tombrauey 2 ай бұрын
Absolutely - especially if you only can use client libraries, because your code is executed in context of a bigger application. In my instance, I develop line of business apps on top of SharePoint and there is no easy way to include a server part to the application, because everything runs on the client.
@TheFocusedCoder
@TheFocusedCoder 2 ай бұрын
Managing state client side is usually a bad idea. Great video I like this approach
@Rebel101
@Rebel101 8 күн бұрын
What whiteboard tool are you using?
@helleye311
@helleye311 Ай бұрын
The only things I use state managers for nowadays is auth (if I'm doing it myself, it's much easier to just stick tokens in zustand) and sometimes specific interactions for deeply nested components. Everything else I either do server components for low-interactivity apps, or hook-form + react query + plain old useState for high interactivity. State libraries have their place, but that place is actual global data and not form input or data from an api. I'm very glad we're moving away from redux in the industry.
@egorovsa
@egorovsa Ай бұрын
Almost two year ago we completely left out from all state managers like redux mobx so on and now just react context and react-query, it's enough to build any apps you would needed
@golden_smiles
@golden_smiles 2 ай бұрын
10:57 If the things qualified as a webpage, not as a webapp, you dont need even react or nextjs, that's it. But I agree that a lot of usecases implemented as a specialized hooks/libs, you don't need to implement it from scratch on your favorite state manager.
@halfalligator6518
@halfalligator6518 23 күн бұрын
I'm still yet to figure out why the native Context can't do most of it. With the benefit of being able to tailor it to the patterns and structure of your app. If i need to automate huge areas of an app or project, i'd build my own schema system to generate objects, so why not have my own custom state manager to go along with it? Context is really not complicated. It's just one single step/layer beyond setting up regular component states. I feel sometimes we're so obsessed with standardizing and making things "efficient", then it bloats, backfires and gets less efficient. Even if it it helps a little bit... I still have to consider that having extra knowledge needed in my brain and extra packages still "costs" in other ways. Depending on the project, there can be a long term efficiency when working with vanilla stacks. I'm not a denialist though as I'm so happy with some basic packages. Have to pick your battles!
@abots
@abots 2 ай бұрын
Please do a video on tanstack router
@BGBaDBlo0D
@BGBaDBlo0D 2 ай бұрын
Prop drilling is one problem. The other one is they should rename the "react developer" job position to a more appropriate one - "machine for spread operators". xD And since some state management libraries allow me to actually think of the solution and work properly with the data instead of using spread syntax all over the place I am very happy with them. Redux is not the chosen one ofc.
@EricSundquistKC
@EricSundquistKC 2 ай бұрын
8:36 "and the nice thing about that is that now you have two different places you can deal with state" 😆😂
@AmirLatypov
@AmirLatypov 2 ай бұрын
In fact it’s the opposite. It is easer to start without a state manager, with just react context. But it easier to work with a state manager (I use redux toolkit) later. So much easier, that I’m thinking of replacing existing parts of my app with react context to unify with other parts, and use only redux now.
@hamedb299
@hamedb299 2 ай бұрын
Guys, how to push some state to URL in next JS 14, because useRouter from next/router is deprecated, and the new useRouter does not have query 🤔
@kylerjohnson988
@kylerjohnson988 2 ай бұрын
What tool are you using to draw these diagrams? It looks like something I need in my dev life STAT. 3:03
@Upsided
@Upsided 2 ай бұрын
It's called excalidraw!
@kylerjohnson988
@kylerjohnson988 2 ай бұрын
@@Upsided thanks!
@adriankateliev731
@adriankateliev731 23 күн бұрын
Redux + saga is still for me the best combination. You've got clear components without any async requests. You send only events, so much clear.
@Reaper_f30
@Reaper_f30 Күн бұрын
im a senior dev and i find redux-toolkit such as easy state management to use!
@VidoviDroga
@VidoviDroga 2 ай бұрын
but what about rerenders... i am having this problem when i update state in any way, everything rerenders and probably in the end will slowdown my app. i have no idea how to do this and where to look for it
@Su-xs1yr
@Su-xs1yr 2 ай бұрын
that's why i hate react vue has a better development experience than react😂
@TannerBarcelos
@TannerBarcelos 2 ай бұрын
Tanstack Query and Zustand are all anyone needs if building a SPA. But always, the project requirements will dictate your decision on tools / technologies you need.
@tuananhdo1870
@tuananhdo1870 2 ай бұрын
True. Aftet many years of rract I found that props drilling is kind of nice
@StevenDavisPhoto
@StevenDavisPhoto Ай бұрын
i use react sweet state for a few global state things i need. it's way smaller and super simple to use. easier than context.
@fooked1
@fooked1 19 күн бұрын
I wonder how this advice impacts performance. With client state, I can make a single DB call and maintain that state across routes and other transitions. If instead I use the stateless web paradigm, I would need to make a DB call each time a route changes, even if the state doesn't need to change. And some state is too big to live in the URL. Likewise, cluttering the URL might impact some tracking services like Google Tag Manger, Optimizely, etc (don't quote me on that one though).
@nottoonior
@nottoonior 2 ай бұрын
does anyone know which app he used for the drawings..thanks
@edrbt
@edrbt 2 ай бұрын
excalidraw
@alexanderalvarado1026
@alexanderalvarado1026 Күн бұрын
excalidraw
@akashthoriya
@akashthoriya 2 ай бұрын
Excited for Next.js Ecommerce Project ❣
@offlercrocgod
@offlercrocgod 2 ай бұрын
It depends on how complex your business logic and application is. I wouldn't dream of not having a store for what I work on. Legend-state is my recommendation as signals make computed/derived data trivial.
@antonvoltchok7794
@antonvoltchok7794 Ай бұрын
I mean I don’t need redux for a small app, but at work we have a gigantic 50+ module app that would be absolute hell to work on without redux or something for state management.
@AykutKlc
@AykutKlc 2 ай бұрын
Looking forward for the nextjs video.
@cameronosborne7405
@cameronosborne7405 2 ай бұрын
Jotai is extremely helpful especially when you start making derived states based on other observables.
@user-hk8xm6jy5t
@user-hk8xm6jy5t Ай бұрын
Many websites need maintainers. As a good developer, it's important to understand state management. If you're a beginner, I highly recommend learning state management before you get lost in complex projects.
@jigmelodey4632
@jigmelodey4632 2 ай бұрын
To be honest I feel like we are moving back to PHP world 😢
@EvertJunior
@EvertJunior 2 ай бұрын
react context is beautiful once you understand it properly and it forces you to improve your composability skills
@claystation6360
@claystation6360 2 ай бұрын
All we need for our enterprise app is jotai. Screw redux type libraries. Screw nesting context providers. Derivative atoms are so clutch
@othersidesss1
@othersidesss1 2 ай бұрын
Waiting for Ecommerce Project Video
@dereksniper
@dereksniper 2 ай бұрын
What about using signals?
@Tommy-jn9ps
@Tommy-jn9ps 2 ай бұрын
1:00 whats the app called? The blackboard
@gmlongo1
@gmlongo1 2 ай бұрын
Looks like excalidraw
@Prof.Respect
@Prof.Respect 2 ай бұрын
excalidraw
@adamkniec9333
@adamkniec9333 2 ай бұрын
excalidraw
@srijonp4
@srijonp4 2 ай бұрын
Excalidraw
@prasanthpedaprolu2261
@prasanthpedaprolu2261 2 ай бұрын
excellidraw. just google it.
@arunjoseph8466
@arunjoseph8466 2 ай бұрын
Absolutely true. I used almost all state managers zustand, redux, recoil, etc. None of them were joy to worl with. Sooner or later i had hit roadblocks and had to do workarounds. Then i started using normal react context with immer. Lot of benefits no boilerplate, directly edit deep states, type safety, potentially even create multiple instances of similar state machines. You really have to try it to understand its benefits. Feels really natural and works like a charm
@darrenhwang900
@darrenhwang900 Ай бұрын
Odd, but it would seem that for anyone to realize that URL can help with state management should be much earlier, and should have happen right after "Global state"(or Lifting State). You don't need your thinking/evolution to go through context stage, reducer stage, reconcilliation stage, meta framework etc. In other words, you don't need next.js to take advantage of URL query parameter.
@Dhdnrjrbrjrnrkfjwk
@Dhdnrjrbrjrnrkfjwk 2 ай бұрын
In such simple examples you can avoid using even react, not only state managers. The question is how much time will it take to debug and test everything. To avoid boilerplate there are different solutions e.g. redux tool kit (RTK). I doubt if it is easy to debug complex state changes using useReducer/state + context API when with redux devtool + redux extension in browser I can see every step of updating my state
@aryomuhammad8254
@aryomuhammad8254 2 ай бұрын
I like this new style, using drawings on the screen really helped me to understand. Thank you Kyle!
@nemanjatrivic9505
@nemanjatrivic9505 2 ай бұрын
Just a friendly suggestion for you. You don't need camera. Your head nodding is distracting.
@HartleySan
@HartleySan 7 күн бұрын
Cool! So React has finally figured out what PHP has been doing since the '90s. Great!
@mdabuhanif357
@mdabuhanif357 2 ай бұрын
Can anyone tell me benefits of using redux instead zustand?
@kondzio2003
@kondzio2003 2 ай бұрын
0:55 what is the name of the editor in which you draw your presentation?
@damianszymczuk7796
@damianszymczuk7796 2 ай бұрын
It's Excalidraw.
@kondzio2003
@kondzio2003 2 ай бұрын
@@damianszymczuk7796 thx
@ezwtwrziehag1736
@ezwtwrziehag1736 2 ай бұрын
not true. state managers are life savers. zustand made our project possible
@mathiasriissorensen6994
@mathiasriissorensen6994 2 ай бұрын
I use it too, and would not live without it. :-)
@simpingsyndrome
@simpingsyndrome 2 ай бұрын
For me is React Query
@rayyanabdulwajid7681
@rayyanabdulwajid7681 2 ай бұрын
Wait till another state management tool comes out in 2 years and you're told to migrate to it.
@waiwaitea
@waiwaitea 2 ай бұрын
fact, this video is just clickbait. He is just talking about simple project doesn't need zustand but the title is just so bad
@przemas11
@przemas11 2 ай бұрын
As always the correct answer is "it depends"
@nemeziz_prime
@nemeziz_prime 2 ай бұрын
Remember, State management is an art. You'll learn by making mistakes! State updates cause re-renders, and therefore poor state management leads to several unnecessary re-renders which causes performance overheads. Zustand, Jotai, etc make state management and state updates much smarter - they only update those components which use the state that has changed. State management doesn't always mean bringing out the big guns in the form of Zustand, etc. Sometimes, a local state variable or a ref variable should be enough. It all boils down to YOUR understanding of the type of state management solution that is required for a given problem...
@fordycegozali241
@fordycegozali241 2 ай бұрын
Guys, what is this whiteboard tool that he used to draw diagrams?
@_KITISH
@_KITISH 2 ай бұрын
excalidraw
@fordycegozali241
@fordycegozali241 2 ай бұрын
thanks@@_KITISH
@investkalimot7499
@investkalimot7499 2 ай бұрын
react query with context api is enough to build a huge application.
@user-mc6cm8le5x
@user-mc6cm8le5x 2 ай бұрын
I feel like WDS is delivering quality content but the captions get too clickbait-y.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 444 М.
Can You Draw The PERFECT Circle?
00:57
Stokes Twins
Рет қаралды 63 МЛН
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Рет қаралды 126 МЛН
I DONT USE NEXT JS
54:01
ThePrimeTime
Рет қаралды 308 М.
How To Actually Get Hired In 2024
10:43
Web Dev Simplified
Рет қаралды 186 М.
The Heart of React || How React works under the hood
10:32
AI Bruise
Рет қаралды 8 М.
Finally Fix Your Issues With JS/React Memory Management 😤
20:13
Jack Herrington
Рет қаралды 76 М.
You might not need useEffect() ...
21:45
Academind
Рет қаралды 136 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
Speed Up Your React Apps With Code Splitting
16:50
Web Dev Simplified
Рет қаралды 363 М.
Web Developer Roadmap (2024) - Everything is Changing
25:02
ByteGrad
Рет қаралды 235 М.