I've been hearing that Zustand is the way to go and the difference between Zustand and Redux is like that of hooks and classes. For those that have used both, what do you guys recommend for big projects?
I've never been a fan of Redux and I've been using Zustand in a project for a while now, however, I've been working on this alone, and soon there will be others joining
I was wondering if we should switch to Redux?
It is a BIG project, we have a big part that has a lot of undoing/redoing but I'm not sure whether Zustand will be good enough for a large scaled project.
Videos
I’m currently using Redux (with Redux Toolkit) for state management in my React project. Lately, some dev friends have been recommending Zustand as a much simpler and more modern alternative.
Has anyone made the switch from Redux to Zustand? Was it worth it?
Hello r/reactjs,
I'm an hobby dev who wants to learn global state management (I've never needed it before because I've only worked on smaller projects with Context API) and I don't know which library to choose. Zustand seems much easier and I would prefer it over Redux, on the other hand Redux is used so often that it might be wiser to learn Redux instead.
Thanks in advance
+1 for Zustand. Much quicker to get up and working. A good middle ground between Context and redux, project size wise at least.
It's important to know redux if you intend to work as a Dev professionally cause many apps use it.
Personally I prefer zustand. It's simpler and gets the job done.
Remember, UI state is different than server state. So try not store data from the backend into a global statement lib. Use the proper libs for that, react-query and swr for ex. Once you split that, UI state will be so small that u may not even need a lib.
Hey folks, I want to implement zustand in a project cause its feels easy to, but redux has more market demand I think. What is your suggestion?
Hello,
I’ve doing react for a few months now (coming from angular) and I’m really enjoying doing it.
So I am kind of new to many concepts in react and I find myself often going back a refactoring things. For example I had to go back and use Zustand for things like modal , feature component because I was throwing context right and left 😂.
Anyway, I am still confused about when I should use store vs context since they both can do similar things in my opinion (as far as I have learned).
How do you decide ?
One last thing , how do you decide whether to use store/context or just pass props ?
I read people writing things about global state etc … and it’s not clear for me, so it’s not helping making the decision .
I am open to your suggestions and advice and thanks in advance.
Cheers
I'm a senior frontend dev. I start a lot of projects. Every project I start, I reach for Redux Toolkit — and it works. My state is predictable, my devtools are excellent, my team knows it, and the patterns scale.
And yet, at least once a month, someone in a code review or a tech discussion says "why are you still using Redux? Just use Zustand."
They never finish the sentence.
I've been building out a React/TypeScript boilerplate I use to start new projects, and I'm genuinely reconsidering the state management choice. But I need someone to make the actual case — not "Zustand is simpler" (simpler than what, exactly?) and not "Redux has too much boilerplate" (Redux Toolkit killed that argument in 2021).
Here's my situation: I already have Redux set up. It took maybe 20 minutes. It works. My selectors are clean, my slices are organized, my devtools show me every action that fires. What is Zustand giving me that justifies ripping that out and relearning patterns?
Specifically, I'd love to hear:
-
A real project where Redux was causing you actual pain and Zustand fixed it
-
What you gave up when you switched (because something always gets sacrificed)
-
Whether Zustand scales to genuinely complex global state, or if it shines best for smaller apps
I'm not looking for a feature comparison — I can read the docs. I want your personal experience.
(I'm collecting these opinions in a GitHub discussion if you want to continue the conversation there: https://github.com/bishopZ/2026-Boilerplate/discussions/23)
I am building an ecommerce website, so I need a state management tool (for cart , user info and other infos), don't know if I should choose Zustand or React-Redux. One hand Zustand is completely new to me but on other hand I am finding React-redux pretty difficult(creating slices and store is easy.. but using redux in any component asks for parent Client component and having whole app as Client is not feasible) to manage
Any guidance is appreciated !
So, Zustand often gets praised for being simpler and having "less boilerplate" than Redux. And honestly, it does feel / seem easier when you're just putting the whole state into a single `create()` call. But in some bigger apps, you end up slicing your store anyway, and it's what's promoted on Zustand's page as well: https://zustand.docs.pmnd.rs/guides/slices-pattern
Well, at this point, Redux Toolkit and Zustand start to look surprisingly similar.
Here's what I mean:
// counterSlice.ts
export interface CounterSlice {
count: number;
increment: () => void;
decrement: () => void;
reset: () => void;
}
export const createCounterSlice = (set: any): CounterSlice => ({
count: 0,
increment: () => set((state: any) => ({ count: state.count + 1 })),
decrement: () => set((state: any) => ({ count: state.count - 1 })),
reset: () => set({ count: 0 }),
});
// store.ts
import { create } from 'zustand';
import { createCounterSlice, CounterSlice } from './counterSlice';
type StoreState = CounterSlice;
export const useStore = create<StoreState>((set, get) => ({
...createCounterSlice(set),
}));And Redux Toolkit version:
// counterSlice.ts
import { createSlice } from '@reduxjs/toolkit';
interface CounterState {
count: number;
}
const initialState: CounterState = { count: 0 };
export const counterSlice = createSlice({
name: 'counter',
initialState,
reducers: {
increment: (state) => { state.count += 1 },
decrement: (state) => { state.count -= 1 },
reset: (state) => { state.count = 0 },
},
});
export const { increment, decrement, reset } = counterSlice.actions;
export default counterSlice.reducer;
// store.ts
import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './counterSlice';
export const store = configureStore({
reducer: {
counter: counterReducer,
},
});
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;Based on my experiences, Zustand is great for medium-complexity apps, but if you're slicing and scaling your state, the "boilerplate" gap with Redux Toolkit shrinks a lot. Ultimately, Redux ends up offering more structure and tooling in return, with better TS support!
But I assume that a lot of people do not use slices in Zustand, create multiple stores and then, yeah, only then is Zustand easier, less complex etc.
Still debating global state management? Here's my honest take after using all three in production:
-
Zustand: Clean API, great performance, minimal boilerplate
-
Redux Toolkit: Best for complex apps, time-travel debugging
-
Context API: Good for simple state, avoid for frequent updates
What's your go-to choice and why?
Dev comments matter for me - genuinely looking for real-world insights!
#Zustand vs #Redux #toolkit
I spent 2 weeks sifting through documentation, testing, and playing with #Zustand and the #Redux #toolkit.
The result of this fun is a long, though terse article, in which I compare:
The size of the technologies.
The impact of the code written on the size of the application.
Implementation of #Code #Splitting.
The amount of boilerplate.
Complexity of solutions.
Work with the state.
Paradigms.
What the building blocks look like.
What the middleware looks like.
Developer tools.
And many, many more...
At the very end, I share my own thoughts - this is just an opinion and please do not rely on it.
Little spoiler - #Zustand #1kB, #Redux #toolkit with necessary ecosystem #10kB+.
https://greenonsoftware.com/articles/libraries/comparing-redux-with-zustand-for-state-management-in-react/
J'essaie de comprendre quand Redux Toolkit est vraiment le bon choix par rapport à Zustand, au-delà des arguments habituels du genre « Redux est lourd / Zustand est simple ».
I have been using zustand, react query in all of my react projects. And could do sll things i wanted too. Do redux have something to offer that no one else provide? And why is it so popular?
i am in the middle of learning react.js
and i am moving forward into REDUX already, but I have seen something on youtube..that ZUSTAND is way better one.
should i hold on learning REDUX and learn ZUSTAND instead?..
I'm at a crossroads in my development journey and could use some collective wisdom. I've been considering whether to integrate Zustand or Redux Toolkit into my React Native projects. While I'm aware there are multiple factors at play, the demand in the job market seems to be a significant one, and it's making me hesitant to fully commit to Zustand.
From your experience, which state management library do you find more prevalent in the industry, especially when it comes to React Native? Does Redux Toolkit still hold the throne, or is Zustand gaining ground? I'm looking for insights that could help me make a more informed decision.
What do you think? I'd love to hear your thoughts and experiences!
I'm not looking for complexity as this is a simple web app
I never used Zustand before and I like the persistent state in redux
but I would like to use react query and can't see a world where I use it with redux when RTK exists
Is Zustand and react query a good mix or should I go learn RTK
Hi
We're throwing away our MobX based mess and hiding all state management behind custom hooks & having all the components agnostic about the underlying state management.
None of us have really used Zustand previously but it does look really clean & I've read lots of positive things about it. I'm still kinda worried about a) it being another js framework of the week & much smaller ecosystem when it comes to tooling etc.
Any opinions / experiences / etc?
I've been wondering if external libraries like Redux or Zustand are necessary for managing global state when Context API already exists within React. I've used Redux Toolkit (RTK) before, but I don’t quite see the benefit when Context API, especially combined with useReducer, seems capable of handling similar tasks.
People often say it depends on the complexity of the app, but I've yet to encounter a case where I had to use RTK. From my perspective, if you structure your app well, Context API should be enough.
To be transparent, I’m not deeply experienced with Redux or Zustand (I've only used them a few times), so maybe I'm missing something. For those who've used both extensively, what benefits do Redux or Zustand offer over Context API in real-world scenarios?
I am using redux for state management in my react apps until now , but recently a lot of react developers are using zustand for state management in react project,
Should I switch to zustand for scalable react projects ? can anyone explain why zustand is better than redux or redux toolkit ?