Being new to react, I spent about a week learning redux, then I watched a video about Zustand, but they was no comparison, then I found this. WOW thanks for doing this, really detailed and I'm surprised how much easier it was to follow your zustand code compared to redux. Thanks for the video.
I use redux at work and past projects. Great stuff but I’m ready to learn something new. Using it at work will keep me fresh but I think I’m gonna start using React Query and Zustand here on out for all my personal projects and use Redux Toolkit at work / RTK Query. If you’re a beginner, learn Redux. It’s the standard and it’ll get you a job. If you’re in industry or want to learn something way easier and that’s cleaner and less overhead to add new skills to your toolbox and make side projects, learn Zustand. It’s important to note everyone has opinions. Always let your job do the talking at first but outside of work, use what you want. In the end, so long as the USER can use the app and experience a seamless experience, that’s all that matters. The code can always be changed later.
@@lord-of-the-shinobi-world redux is probably the most complex and feature rich but other state managers are probably better in 2023. React Query and Zustand are nice. But it’s also probable for many users that a global state manager isn’t even needed. Especially with the rise of server first web apps and nextjs, so much of your “state” can be server side and no longer require client side state. If you need it, reaching for something like Zustand or RQ are fine.
I find redux toolkit very easy though. I will keep an eye on Zustand, right now as a beginner I would not waste my time jumping between libraries and frameworks. Maybe in the future when Zustand gets more popular and companies start recognizing it, I will consider learning it
I love redux toolkit, i barely write any boilerplate anymore! I copy/paste basic structures and fill in a few details to get everything running smoothly
Great library, I do agree with everyone else that companies won't hire a just a zustand user. But that won't stop me from using it in my personal projects. You earned a new subscriber
If you actually look at the two examples, it makes Redux look way more complicated. When, in reality it is basically the same thing and you can nearly make it as compact as the Zustand example. The Redux part also has types (interfaces), which the Zustand example omits. There is nothing in those examples about importing, exporting which you would have to do with Zustand as well if you want to use from multiple files. I also don't like when people create too many stores. I like to just create a tree of states, but only use one main store, it makes everything cleaner are much more simple. So yeah, not quite fair comparison.
agreed, the example comparison is a bit unfair tbh. You can simplify it a lot. There is just not that much more compared to zustand. The advantage of redux is its maturity and popularity and that's a huge huge benefit when you consider how much more support you will get when searching
Zustand is my first love coz it supports async calls just using async/await with no further config needed not like redux that you need thunk for that, but as software engineers we dont use what is easy, we use what brings us a job. Nevertheless, zustand is great for your personal projects
@@devillspdr dude that's the point... zustand dont need those shits to work. That's why others love zustand. But those simple state management is not industry's favorite hence the sentence "we dont use what is easy but what gives us a job".
Hi ! nice video. I was wondering on 17:35. We have fetchProducts inside useEffect ?. How will we comply to React 18 that encourage us to move away data fetching inside useEffect ? thanks !
A great tip is to create custom hooks that access and return to the corresponding store state and actions and then just call the custom hooks in the Components and never directly call the store.
I think easy-peasy is a better redux implementation in terms of developer experience, Redux toolkit still has boiler plate. But Zustand seems quite simple since there is no context wrapper, similar to Pinia in vue. Great video
I'd say a bit too biased towards zustand :) yes it's simple.. but you don't need all the async thunks in redux -> use the builtin rtk query and you are golden
When I start using React I found that Redux is so complicated and I still find it hard even with redux toolkit ... It seems that Zustand might be the new tool that I will use for state management. It seems easy to use and has less code to write, Thank you for the video but I think it is a little bit long
I love, how you pronounce Zustand xD Its German and means nothing more than "State". If you wanna try: you pronounce it like "Tsu" - like in tsunami for the ZU, "sh" just for the S (dont ask why xD) , the AN is pronounced like the un in bun :Dand the D ist not like a D, more like a T ....like Tsushtunt or in german Zustand :)
I really appreciate how you give us many options and tech updates. Thank You. Can you do a comparison of performance of Redux vs other state management tools side-by-side? It would be awesome to watch. Best wishes all the way from India 🇮🇳
for data state management, you better off using react-query for simple ui state management, you better off using react-tracked there's no place in using redux at all
Listen man... If the project I've been onboarded to uses easy-peasy, I use easy-peasy... If the project I've been onboarded to uses contect, I use context... If the project I've been onboarded to uses RTK, I use RTK... You see what I'm getting at? If the project is fresh, use RTK. Redux is standard in the industry and RTK makes it very easy. Even Backend guys can work it :)
With RTK Query everything becomes more equal, since now we don't have so much boilerplate code and thinking in redux is a whole another thing now (working with async actions, i mean)
RTK Toolkit and Zustand isn't really comparable. RTK Toolkit is a collection of tools that provides you tight integration with everything from state management, async queries and mutations with caching and prefetching, API definitions (RTK Query), side-effects and more. Zustand is just state management with some side-effect handling. The rest relies on React hooks like useEffect, which makes it easy to end up shooting yourself in the foot-esp. for async operations. Now this is not to say that Zustand isn't great. It certainly is a nice API for smaller apps and scales fine, and I personally use it for most of my projects. But if you need to integrate anything with Zustand, like React Query, to handle async queries and mutations, you end up writing needing to write and maintain your own glue code. And that is without TypeScript and type inference. It becomes more boilerplate than RTK for a lot of things. Zustand is great for state management, RTK is great if you like to have more out of the box that is tightly integrated and need good interop with TypeScript for those things.
Additionally the example in this video is a poor representation of RTK at best. It mostly uses Redux and not any of the toolkit APIs that offer much simpler ways to manage state, async side-effects and API requests. RTK Query would have been a much better fit and provides everything you need to cache, invalidate and implement optimistic updates for a smoother UX.
you should be able to pick it up quickly. besides, I can't think of any company that says "oh, you haven't used Zustand before? sorry we can't hire you."
Looks promising but would it be better for beginners to use Context instead of zustand? Looking forward for companies that allows to use this tho & insight from other devs. Right now, I'm still going to use redux
Would anyone consider reapex? It’s built with redux, and has almost all the advantages of redux toolkit, zustand, jotai, etc. Even a lot simpler than redux toolkit. Since it’s built with redux, it compatible with redux ecosystem.
just a hint to demystify the name: Zustand, der (male genus) means state in German, pronounce it like 'super' beginning with a T and like 'stunt' with sh instead of just an s. Tsuuu-sh-tund if that makes sense
Personallly, for normal state management, I felt Redux and Redux Toolkit APi could be simpler, as author pointed out, too much just too much boiler template (reminds me Angular). Surely, when building large project or complex store interraction or dependency, you need the library to have the flexibility for advanced use cases.
12:30 actually, Redux-Thunk is part of Redux Toolkit per default. There is no reason to write extra code here to override the default middleware (which includes thunk) with thunk.
You showed redux in TS, but then zustand in JS. I normally love your videos but please try to keep the language consistent. Of course Redux in TS is going to have more boiler plate.
Promises are always composed of three states. Pending, Rejected, Fulfilled. I still see people omitting the first two all the time and this is really a bad practice. In your example you are not handling at all things like loading, error, error message and so on (you just set loading: false but i don't see where you set it to true). There's no guarantee you api call will always return a valid result. You say nothing about memoization. Redux/Toolkit ships with createSelector to avoid unnecessary computation when part of the state is not changed. Is that supported in Zustand out of the box?. How can one avoid heavy computation and avoid re-rendering the component even if the state has not changed. Comparison are not only about shorten code. Please provide more info about other important features if you want to make a valid comparison.
yeah memoization is supported out of the box and by default it is using strict equal (===) comparison, we can also change the comparator, for example we can add shallow comparator (can import from zustand/middleare) to return an object or array in selector
@CoderOne has not managed loading and rejected but it does not seem that difficult , to achieve that all he has to do is wrap the api call in a try catch block For error state in catch block he can set error, For loading state before the api call he has to set loading to true (in try block)
Redux got mayor history and proven record its easy to test and works! Its not really that much of extra code... tired hearing that over and over. It's stable and works... and Zustand is well a new player that didn't earn my trust yet to use it for anything other than personal projects.
My question would be, there's also a library such as react-query or apollo-graphql. Therefore, what's the point of adding the data to the store such as redux or zustand, could u please provide me another usecase rather than fetching data?
Zustsng and redux are for state management, when working with state, it's sometimes hard to keep track about how your state change. These libraries allow you to describe your state, and the way it should be modified, making it easier for both the user and the developer to work on it long term
Those who get really annoyed by his voice and how he talks, turn on the cc & mute the video. unfortunately that's the only way. and Yes! I know!, my ear also bleeds when I listen to him talking.
@@pezhmanvapsin I don't believe you. I tried talking like him, I started talking to my parents the way talks, and they thought I was stupid, and trying to mock them.
i hate redux even before i started learning it. even after i became good at it, it's just still not the right way to manage state. i switch to zustand 1 year ago and it was the end of state management war. but i'm forcing my selft to keep redux on my back just because it's on the job while zustand is new. but as for my projects, i use zustand with react-query togather works perfectly for many scenarios.
Every promotor of any library forget to tell something. How to write tests?! For me thats the pain point for choosing any library. How easily I could implement tests! Why we omit testing part when we talk about this is good and that is not??!! Are we not writing tests anymore?
@@arazmammadov9276 redux is always structured even if your project size is large , it is easy to test , almost half of the react apps use redux , huge ecosystem , sate are read only no unnecessary render ..
@@arazmammadov9276 Redux is the standard in the industry :) Rather take a bit more time laying a big foundation so that you can scale up to a big skyscraper RTK is like cheatcodes for new devs :D
Redux thunks are just functions that return functions. You don't need to use createAsyncThunk and all that crap. And redux toolkit already have thunks built in you don't need to configure the Middleware again. Actually you just removed all rtk Middlewares and replaced with only redux thunk. At real world projects redux wins by defining a clearer pattern to develop the project. But, zustand is crazy simple I'll give it a chance
No one is saying redux is difficult. But I will say it is messy as hell. I complained about this since I first saw a sample code of it. It's stupid. All of your code that you're using Redux on???? I can cut that entire code by over 50%. Less code to maintain, easier to read, and superior by far in every way. Want middleware? Zustand got it for you too. Name me one thing Redux has over Zustand The only one people provided me so far is: "It's been around longer, familiarity where more people recognize it, and time-travel debugging" Honestly... I'll gladly give up those to cut off 50% of my code and keeping the entire project clean.
well, in the concept of a beginner I would learn redux toolkit because my team company uses it. Zustand seem more light bright for my other hand project.
i absolutely love redux, but in some project that i work before. they used to many redux, like a lot lot of redux even for small thing that you can do in useState. because of this the app feel so laggy and bloated.
First time when I saw Redux i was like "bruv...wtf is this crap?" I said "jesus so complex and difficult tool for a begginner". Redux has so much boilerplate code thats totally useless and not really needed for the goal of state managment, redux is too complex(also not needed), the structure of redux is also so confusing. When I needed a state managment for my first time in my entire life i was like "im not gonna use redux, this is another crap used in this industry that shouldnt even exist" then i looked up some state managment tools and saw zustand and i felt in love with this tool. I am not an Redux hater or sum, but i just hate tools in this industry like php etc that shouldnt exist a long time ago, same for jqueary etc, i cant wait when redux will die, zustand is doing so well in large apps and its scaling pretty well if u know what ure doing i feel pain in my ass tho cause im looking for a job atm as a front and i know that i will have to use redux on the front end if im gonna be hired anywhere, and im about to cry about this fact cause redux shouldnt exist anymore. I love the way of Zustand, its like hook based, pretty lovely, simple, really powerful, pretty readable when u see the code etc, not confusing at all just clearly lovely tool that makes ur work easier and comfortable as heck ;p
Yeah good luck with production application build bud, share with us later how easy was your scaling and how it managed to highly perform in rush hour ;) If you want to be professional react developer you should master redux, redux’s ecosystem and context API. The main reason redux won’t be replaced soon in the professional industry is because it is battle tested and from my own experience have the right tools to handle a massive state handling and manipulation when your client never close the browser and accumulate massive data over time.
Being new to react, I spent about a week learning redux, then I watched a video about Zustand, but they was no comparison, then I found this. WOW thanks for doing this, really detailed and I'm surprised how much easier it was to follow your zustand code compared to redux. Thanks for the video.
I agree, Zustand is awesome. The same creator also created Valtio and Jotai, two other great libraries for state.
I use redux at work and past projects. Great stuff but I’m ready to learn something new. Using it at work will keep me fresh but I think I’m gonna start using React Query and Zustand here on out for all my personal projects and use Redux Toolkit at work / RTK Query.
If you’re a beginner, learn Redux. It’s the standard and it’ll get you a job. If you’re in industry or want to learn something way easier and that’s cleaner and less overhead to add new skills to your toolbox and make side projects, learn Zustand.
It’s important to note everyone has opinions. Always let your job do the talking at first but outside of work, use what you want. In the end, so long as the USER can use the app and experience a seamless experience, that’s all that matters. The code can always be changed later.
So, what you're saying is, Redux is the basic. From there, move forward with other state management libraries
@@lord-of-the-shinobi-world redux is probably the most complex and feature rich but other state managers are probably better in 2023. React Query and Zustand are nice. But it’s also probable for many users that a global state manager isn’t even needed. Especially with the rise of server first web apps and nextjs, so much of your “state” can be server side and no longer require client side state. If you need it, reaching for something like Zustand or RQ are fine.
I find redux toolkit very easy though.
I will keep an eye on Zustand, right now as a beginner I would not waste my time jumping between libraries and frameworks. Maybe in the future when Zustand gets more popular and companies start recognizing it, I will consider learning it
same
Same
I love redux toolkit, i barely write any boilerplate anymore! I copy/paste basic structures and fill in a few details to get everything running smoothly
you do not need to learn zustand if you know redux. you know how to run, then of course you know how to walk.
You need 5 minutes to learn it
An Svelte-like store management, that's something we needed on React, thank you for the video.
Great library, I do agree with everyone else that companies won't hire a just a zustand user. But that won't stop me from using it in my personal projects. You earned a new subscriber
If you actually look at the two examples, it makes Redux look way more complicated. When, in reality it is basically the same thing and you can nearly make it as compact as the Zustand example. The Redux part also has types (interfaces), which the Zustand example omits. There is nothing in those examples about importing, exporting which you would have to do with Zustand as well if you want to use from multiple files. I also don't like when people create too many stores. I like to just create a tree of states, but only use one main store, it makes everything cleaner are much more simple. So yeah, not quite fair comparison.
agreed, the example comparison is a bit unfair tbh. You can simplify it a lot. There is just not that much more compared to zustand. The advantage of redux is its maturity and popularity and that's a huge huge benefit when you consider how much more support you will get when searching
I agree, but still Zustand is much simpler
Zustand simple to implement reduced broiler plate code
I moved to MobX in 2019 and pretty happy.
I just did this to my personal projects 2 months ago and im loving zustand!
Zustand is my first love coz it supports async calls just using async/await with no further config needed not like redux that you need thunk for that, but as software engineers we dont use what is easy, we use what brings us a job. Nevertheless, zustand is great for your personal projects
redux toolkit has rtk query, and all works seamlessly together. and redux dev tools is awesome
@@devillspdr dude that's the point... zustand dont need those shits to work. That's why others love zustand. But those simple state management is not industry's favorite hence the sentence "we dont use what is easy but what gives us a job".
@@chess4964I find redux toolkit very simple to use and I'm new to react
Hi ! nice video. I was wondering on 17:35. We have fetchProducts inside useEffect ?. How will we comply to React 18 that encourage us to move away data fetching inside useEffect ? thanks !
A great tip is to create custom hooks that access and return to the corresponding store state and actions and then just call the custom hooks in the Components and never directly call the store.
wow it blows my mind... I should try this zustand to my next project thank you for this video ❤
I think easy-peasy is a better redux implementation in terms of developer experience, Redux toolkit still has boiler plate. But Zustand seems quite simple since there is no context wrapper, similar to Pinia in vue. Great video
I'd say a bit too biased towards zustand :) yes it's simple.. but you don't need all the async thunks in redux -> use the builtin rtk query and you are golden
React redux is now easy with when you use it with @redux-toolkit
When I start using React I found that Redux is so complicated and I still find it hard even with redux toolkit ... It seems that Zustand might be the new tool that I will use for state management. It seems easy to use and has less code to write, Thank you for the video but I think it is a little bit long
Redux toolkit is hard?
@@ibrahimhafez7750 not it's not unless you find learning a few concepts hard
@@ibrahimhafez7750 I can agree it is not that much hard with toolkit but still need so many things to do
@@ibrahimhafez7750 some people start study react without understand base js and logic.
Thats true, Zustand easy to use
Redux is already a hell by its own, then you add saga to it and your mind explodes.
I love, how you pronounce Zustand xD Its German and means nothing more than "State". If you wanna try: you pronounce it like "Tsu" - like in tsunami for the ZU, "sh" just for the S (dont ask why xD) , the AN is pronounced like the un in bun :Dand the D ist not like a D, more like a T ....like Tsushtunt or in german Zustand :)
Nice explanation! Now, I'm officially German ^^
"Zustand"is the German word for "State" (if you want to know the pronunciation ;-) -then this is what you need to look for)
"Zoo stand". Lol
Amazing, Thank you so much for clear this topic to us, your explanation is well prepared good job.
I really appreciate how you give us many options and tech updates. Thank You.
Can you do a comparison of performance of Redux vs other state management tools side-by-side? It would be awesome to watch.
Best wishes all the way from India 🇮🇳
for data state management, you better off using react-query
for simple ui state management, you better off using react-tracked
there's no place in using redux at all
Awesome I use zustand in my project.
Listen man...
If the project I've been onboarded to uses easy-peasy, I use easy-peasy...
If the project I've been onboarded to uses contect, I use context...
If the project I've been onboarded to uses RTK, I use RTK...
You see what I'm getting at?
If the project is fresh, use RTK. Redux is standard in the industry and RTK makes it very easy. Even Backend guys can work it :)
And after x days move from zustand to another package, so my question is on react why not to make creation state/store simple like svelte or solidjs??
i have moved to zustand for about 3 months,
and believe me, it is really great and amazing library, i prefer zustand over redux
how to implement it with react query?
Oh boy yet another state management library... just what we needed
Isn’t ContextAPI + hooks that enough?
With RTK Query everything becomes more equal, since now we don't have so much boilerplate code and thinking in redux is a whole another thing now (working with async actions, i mean)
RTK Toolkit and Zustand isn't really comparable. RTK Toolkit is a collection of tools that provides you tight integration with everything from state management, async queries and mutations with caching and prefetching, API definitions (RTK Query), side-effects and more.
Zustand is just state management with some side-effect handling. The rest relies on React hooks like useEffect, which makes it easy to end up shooting yourself in the foot-esp. for async operations.
Now this is not to say that Zustand isn't great. It certainly is a nice API for smaller apps and scales fine, and I personally use it for most of my projects. But if you need to integrate anything with Zustand, like React Query, to handle async queries and mutations, you end up writing needing to write and maintain your own glue code. And that is without TypeScript and type inference. It becomes more boilerplate than RTK for a lot of things.
Zustand is great for state management, RTK is great if you like to have more out of the box that is tightly integrated and need good interop with TypeScript for those things.
Additionally the example in this video is a poor representation of RTK at best. It mostly uses Redux and not any of the toolkit APIs that offer much simpler ways to manage state, async side-effects and API requests. RTK Query would have been a much better fit and provides everything you need to cache, invalidate and implement optimistic updates for a smoother UX.
Jack of all trades, master of none
@@saeedatenzi But still better than mastering one. You clearly didn't understand the saying.
ok which company is going to higher me for using zustand right now ....
exactly :)
Zero companies
you should be able to pick it up quickly. besides, I can't think of any company that says "oh, you haven't used Zustand before? sorry we can't hire you."
If you're having to learn specific libraries to score jobs I'm afraid your problem is not knowing specific libraries my friend.
an elevator or forklift manufacturer company should higher you
Looks promising but would it be better for beginners to use Context instead of zustand? Looking forward for companies that allows to use this tho & insight from other devs. Right now, I'm still going to use redux
Context is not meant to be a state management API
How do you go about authorization in a login using zustand?
I also like mobx for state management,
Zustand + React Query = Awesome
I just noticed this. Is the code available somewhere? Thanks.
Would anyone consider reapex?
It’s built with redux, and has almost all the advantages of redux toolkit, zustand, jotai, etc. Even a lot simpler than redux toolkit. Since it’s built with redux, it compatible with redux ecosystem.
just a hint to demystify the name: Zustand, der (male genus) means state in German, pronounce it like 'super' beginning with a T and like 'stunt' with sh instead of just an s. Tsuuu-sh-tund if that makes sense
Please can you give us a link to this ecommerce repository?
Personallly, for normal state management, I felt Redux and Redux Toolkit APi could be simpler, as author pointed out, too much just too much boiler template (reminds me Angular).
Surely, when building large project or complex store interraction or dependency, you need the library to have the flexibility for advanced use cases.
just curious what advanced use cases does redux have that cannot be done in zustand?
How about RTK Query? It is much less code than in redux and maybe like in zustand.
Heyy, great tutorial, can you share the code for the zustand implementation? Thanks
You don't need to do ...state inside slices. You can just modify state directly in RTK.
12:30 actually, Redux-Thunk is part of Redux Toolkit per default. There is no reason to write extra code here to override the default middleware (which includes thunk) with thunk.
You showed redux in TS, but then zustand in JS. I normally love your videos but please try to keep the language consistent. Of course Redux in TS is going to have more boiler plate.
Can i use the 2 of them in the same proj?
Sure, but I don't think it would be a good idea!
Promises are always composed of three states. Pending, Rejected, Fulfilled. I still see people omitting the first two all the time and this is really a bad practice. In your example you are not handling at all things like loading, error, error message and so on (you just set loading: false but i don't see where you set it to true). There's no guarantee you api call will always return a valid result. You say nothing about memoization. Redux/Toolkit ships with createSelector to avoid unnecessary computation when part of the state is not changed. Is that supported in Zustand out of the box?. How can one avoid heavy computation and avoid re-rendering the component even if the state has not changed. Comparison are not only about shorten code. Please provide more info about other important features if you want to make a valid comparison.
yeah memoization is supported out of the box and by default it is using strict equal (===) comparison,
we can also change the comparator, for example we can add shallow comparator (can import from zustand/middleare) to return an object or array in selector
@CoderOne has not managed loading and rejected but it does not seem that difficult ,
to achieve that all he has to do is wrap the api call in a try catch block
For error state in catch block he can set error,
For loading state before the api call he has to set loading to true (in try block)
Also most people fail to cancel the pending api’s if they navigate from one page to other.
Redux got mayor history and proven record its easy to test and works! Its not really that much of extra code... tired hearing that over and over.
It's stable and works... and Zustand is well a new player that didn't earn my trust yet to use it for anything other than personal projects.
Absolutely loved the video! Can you please share the source code of the video demo projects if they'republic repos?
I case you didn't know: "Zustand" is actually the translation of "state" in German. So the name makes a lot of sens :D
My question would be, there's also a library such as react-query or apollo-graphql. Therefore, what's the point of adding the data to the store such as redux or zustand, could u please provide me another usecase rather than fetching data?
Zustsng and redux are for state management, when working with state, it's sometimes hard to keep track about how your state change. These libraries allow you to describe your state, and the way it should be modified, making it easier for both the user and the developer to work on it long term
"Zustand" is a German word for state, and is pronounced /ˈt͡suːˌʃtant/
"Süßtend" would be written in german, what CoderOne says. :) but the english version isn't bad, just sounds funny. Good video btw!
Those who get really annoyed by his voice and how he talks, turn on the cc & mute the video. unfortunately that's the only way. and Yes! I know!, my ear also bleeds when I listen to him talking.
not funny guys, I have a friend who talks like that, he is not doing it on purpose. this is the way they talk
@@pezhmanvapsin I don't believe you. I tried talking like him, I started talking to my parents the way talks, and they thought I was stupid, and trying to mock them.
mobx with react-query for cache is better and simpler.
0:38 please zoom in, some of us watch on mobile :)
i hate redux even before i started learning it. even after i became good at it, it's just still not the right way to manage state. i switch to zustand 1 year ago and it was the end of state management war. but i'm forcing my selft to keep redux on my back just because it's on the job while zustand is new. but as for my projects, i use zustand with react-query togather works perfectly for many scenarios.
By the way, for those that don't know Zustand is German for state.
Simple like Pinia 💪
Zustand is AMAZING
Every promotor of any library forget to tell something. How to write tests?! For me thats the pain point for choosing any library. How easily I could implement tests! Why we omit testing part when we talk about this is good and that is not??!! Are we not writing tests anymore?
Zustand is cool, but RTK have full support to nextjs that's why im still using it with typescript :)
Redux vs react context , redux vs recoil , redux vs zustand - redux always winner
Can you explain it in more details please? What makes Redux to be always winner?
@@arazmammadov9276 redux is always structured even if your project size is large , it is easy to test , almost half of the react apps use redux , huge ecosystem , sate are read only no unnecessary render ..
@@arazmammadov9276 Redux is the standard in the industry :)
Rather take a bit more time laying a big foundation so that you can scale up to a big skyscraper
RTK is like cheatcodes for new devs :D
I prefer Jotai insted Zustand but both are great
Redux thunks are just functions that return functions. You don't need to use createAsyncThunk and all that crap. And redux toolkit already have thunks built in you don't need to configure the Middleware again. Actually you just removed all rtk Middlewares and replaced with only redux thunk. At real world projects redux wins by defining a clearer pattern to develop the project. But, zustand is crazy simple I'll give it a chance
No one is saying redux is difficult.
But I will say it is messy as hell. I complained about this since I first saw a sample code of it. It's stupid.
All of your code that you're using Redux on???? I can cut that entire code by over 50%. Less code to maintain, easier to read, and superior by far in every way. Want middleware? Zustand got it for you too.
Name me one thing Redux has over Zustand
The only one people provided me so far is: "It's been around longer, familiarity where more people recognize it, and time-travel debugging"
Honestly... I'll gladly give up those to cut off 50% of my code and keeping the entire project clean.
its not sustend, its ZUSTAND like tsu stand but stand is prounced german
I think you probably look into svelte.
well, in the concept of a beginner I would learn redux toolkit because my team company uses it. Zustand seem more light bright for my other hand project.
new favorite in town
i absolutely love redux, but in some project that i work before. they used to many redux, like a lot lot of redux even for small thing that you can do in useState.
because of this the app feel so laggy and bloated.
Hahaha. The context API and the useReducer hook is my favorite, but react redux comes second. No other API beats them
Hey people, anyone ever wrote async thunks with firebase methods?
redux-query? MST?
Thanks
you are using the redux toolkit wrong.
thanks
First time when I saw Redux i was like "bruv...wtf is this crap?" I said "jesus so complex and difficult tool for a begginner". Redux has so much boilerplate code thats totally useless and not really needed for the goal of state managment, redux is too complex(also not needed), the structure of redux is also so confusing. When I needed a state managment for my first time in my entire life i was like "im not gonna use redux, this is another crap used in this industry that shouldnt even exist" then i looked up some state managment tools and saw zustand and i felt in love with this tool. I am not an Redux hater or sum, but i just hate tools in this industry like php etc that shouldnt exist a long time ago, same for jqueary etc, i cant wait when redux will die, zustand is doing so well in large apps and its scaling pretty well if u know what ure doing i feel pain in my ass tho cause im looking for a job atm as a front and i know that i will have to use redux on the front end if im gonna be hired anywhere, and im about to cry about this fact cause redux shouldnt exist anymore. I love the way of Zustand, its like hook based, pretty lovely, simple, really powerful, pretty readable when u see the code etc, not confusing at all just clearly lovely tool that makes ur work easier and comfortable as heck ;p
The major problem is that most of companies require you to have high level knowledge of redux.
Yeah good luck with production application build bud, share with us later how easy was your scaling and how it managed to highly perform in rush hour ;)
If you want to be professional react developer you should master redux, redux’s ecosystem and context API.
The main reason redux won’t be replaced soon in the professional industry is because it is battle tested and from my own experience have the right tools to handle a massive state handling and manipulation when your client never close the browser and accumulate massive data over time.
@@ahmedn76841 I don't say that the industry don't requires the knowledge of redux.
I want to make my own state management librarie. Any js developer want to join.
react-query + zustand
update ... zustand is really awesome
Then moved from zustand to Valtio, which is far simpler
I just have ptsd from redux!
I don’t unZustand
Fun fact Zustand means State in german
I'm convinced that the big investors and analysts are trying to scare us to keep us poor and ignorant to the market.. because its steady
Fun Fact, I am from Germany and "Zustand" is actual German and literally means "State", LOL =D
Why I moved from React to Vue and why you should too!
Oops forgot to mention first-party state management Pinia, which is ridiculously simple, you can learn it in an hour or two
is not Zustand its TsuShtand
Finally someone that gets it.
Zustand >>>> Redux
Well Redux never die...
👍
I ain't moving from JavaScript
Awesome
and jotai
funfact: "Zustand" is german for "State" ...so you need to pronounce the "Z" with a bit more aggression :D
The right pronunciation for the word "Zustand" for English speakers is: tsu-sh-tand
It's pronounced more like tsu-shtand than zoostand
in!
Use neither, just React.