React Context + useReducer - Still to this day my favorite way of managing global state in React, no extra dependencies, no learning curve, it’s all there built-in
Just curious - have you applied this in big React applications?
The reason I’m asking is because all context consumers get re-rendered immediately upon context value update. It might be ok for small apps but bigger apps can suffer.
It really depends on what kind of state you’re storing. For UI or other client stuff usually a context provider is enough. For server data/state I started using React Query a lot more. It syncs server data across components that use the same cache key, which is really powerful.