Hi, I'm a Redux maintainer. This is a very frequently asked question :) Context and Redux are very different tools that solve different problems, with some overlap. Context is not a "state management" tool. It's a Dependency Injection mechanism, whose only purpose is to make a single value accessible to a nested tree of React components. It's up to you to decide what that value is, and how it's created. Typically, that's done using data from React component state, ie, useState and useReducer. So, you're actually doing all the "state management" yourself - Context just gives you a way to pass it down the tree. Redux is a library and a pattern for separating your state update logic from the rest of your app, and making it easy to trace when/where/why/how your state has changed. It also gives your whole app the ability to access any piece of state in any component. In addition, there are some distinct differences between how Context and (React-)Redux pass along updates. Context has some major perf limitations - in particular, any component that consumes a context will be forced to re-render, even if it only cares about part of the context value. Context is a great tool by itself, and I use it frequently in my own apps. But, Context doesn't "replace Redux". Sure, you can use both of them to pass data down, but they're not the same thing. It's like asking "Can I replace a hammer with a screwdriver?". No, they're different tools, and you use them to solve different problems. For more details, see my posts: Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux) Redux - Not Dead Yet! When (and when not) to Reach for Redux React, Redux, and Context Behavior . A (Mostly) Complete Guide to React Rendering Behavior Answer from acemarke on reddit.com
🌐
Reddit
reddit.com › r/reactjs › redux vs context, what exactly does redux accomplish that context fails to do?
r/reactjs on Reddit: Redux vs Context, what exactly does Redux accomplish that context fails to do?
November 26, 2022 -

I don't have the experience of working on a massive sized projects. The small to medium ones that I have worked one, I kinda didn't feel the necessity of Redux or any other state management tools. Also the usecases I have seen for Redux or the places where I have used Redux, those can be done with context as well. So my question is where exactly do I need Redux and what does it provide that can't be handled by context and other hooks? Also does a state management tool provide improved performance compared to context?

Top answer
1 of 14
402
Hi, I'm a Redux maintainer. This is a very frequently asked question :) Context and Redux are very different tools that solve different problems, with some overlap. Context is not a "state management" tool. It's a Dependency Injection mechanism, whose only purpose is to make a single value accessible to a nested tree of React components. It's up to you to decide what that value is, and how it's created. Typically, that's done using data from React component state, ie, useState and useReducer. So, you're actually doing all the "state management" yourself - Context just gives you a way to pass it down the tree. Redux is a library and a pattern for separating your state update logic from the rest of your app, and making it easy to trace when/where/why/how your state has changed. It also gives your whole app the ability to access any piece of state in any component. In addition, there are some distinct differences between how Context and (React-)Redux pass along updates. Context has some major perf limitations - in particular, any component that consumes a context will be forced to re-render, even if it only cares about part of the context value. Context is a great tool by itself, and I use it frequently in my own apps. But, Context doesn't "replace Redux". Sure, you can use both of them to pass data down, but they're not the same thing. It's like asking "Can I replace a hammer with a screwdriver?". No, they're different tools, and you use them to solve different problems. For more details, see my posts: Why React Context is Not a "State Management" Tool (and Why It Doesn't Replace Redux) Redux - Not Dead Yet! When (and when not) to Reach for Redux React, Redux, and Context Behavior . A (Mostly) Complete Guide to React Rendering Behavior
2 of 14
25
Redux adds an additional layer to your application that can lift a huge portion of your business logic out of your React component tree. This allows your React components to focus on rendering state while async operations, queues, data streams, client side caching, data reducer models, etc get lifted out of Reacts component tree and the resulting data is only reintroduced into React on an as needed basis. Do you want to separate concerns, allow React to focus on the view part of your app, decouple code, turn a series of asynchronous actions into a composable synchronous series? Want a large team of programmers to implement complicated business logic across a large complicated app in a sane and consistent manner? Redux has you covered. Do you want to clean up some prop drilling? useContext. Also immer is awesome and you should use it. Also also MAKE SURE YOU ARE USING THE REACT TOOLKIT IF YOU ARE USING REACT.
Top answer
1 of 5
345

As Context is no longer an experimental feature and you can use Context in your application directly and it is going to be great for passing down data to deeply nested components which what it was designed for.

As Mark Erikson has written in his blog:

If you're only using Redux to avoid passing down props, context could replace Redux - but then you probably didn't need Redux in the first place.

Context also doesn't give you anything like the Redux DevTools, the ability to trace your state updates, middleware to add centralized application logic, and other powerful capabilities that Redux enables.

Redux is much more powerful and provides a large number of features that the Context API doesn't provide, also as @danAbramov mentioned

React Redux uses context internally but it doesn’t expose this fact in the public API. So you should feel much safer using context via React Redux than directly because if it changes, the burden of updating the code will be on React Redux and not you.

Its up to Redux to actually update its implementation to adhere with the latest Context API.

The latest Context API can be used for Applications where you would simply be using Redux to pass data between components, however applications which use centralised data and handle API request in Action creators using redux-thunk or redux-saga still would need Redux. Apart from this Redux has other libraries associated with it like redux-persist which allows you to save/store data in localStorage and rehydrate on refresh which is what the Context API still doesn't support.

As @dan_abramov mentioned in his blog You might not need Redux, Redux has useful applications like

  • Persist state to a local storage and then boot up from it, out of the box.
  • Pre-fill state on the server, send it to the client in HTML, and boot up from it, out of the box.
  • Serialize user actions and attach them, together with a state snapshot, to automated bug reports, so that the product developers
    can replay them to reproduce the errors.
  • Pass action objects over the network to implement collaborative environments without dramatic changes to how the code is written.
  • Maintain an undo history or implement optimistic mutations without dramatic changes to how the code is written.
  • Travel between the state history in development, and re-evaluate > the current state from the action history when the code changes, ala TDD.
  • Provide full inspection and control capabilities to the development tooling so that product developers can build custom tools for their apps.
  • Provide alternative UIs while reusing most of the business logic.

With these many applications its far too soon to say that Redux will be replaced by the new Context API.

2 of 5
161

If you are using Redux only to avoid passing props down to deeply nested components, then you could replace Redux with the Context API. It is exactly intended for this use case.

On the other hand, if you are using Redux for everything else (having a predictable state container, handling your application's logic outside of your components, centralizing your application's state, using Redux DevTools to track when, where, why, and how your application's state changed, or using plugins such as Redux Form, Redux Saga, Redux Undo, Redux Persist, Redux Logger, etc…), then there is absolutely no reason for you to abandon Redux. The Context API doesn't provide any of this.

And I personally believe that the Redux DevTools extension is an amazing, underestimated debugging tool, which justifies by itself to keep using Redux.

Some references:

  • Redux Is Not Dead Yet!
  • You Might Not Need Redux
  • Do React Hooks Replace Redux?
Discussions

Redux or React Query or Context API
This question gained a lot of engagement and reactions. Some percentage of folks said they still use redux, some said react query is better and others argued that context API is sufficient for them. To the issue: As someone who is still a beginner/amateur in the react world and hoping to go ... More on forum.freecodecamp.org
🌐 forum.freecodecamp.org
0
0
December 2, 2021
Redux vs Context API
Redux and Context are different tools that solve different problems, with some overlap. Context is a Dependency Injection tool for a single value, used to pass it down without prop drilling Redux is a tool for predictable state management outside the React tree More details: https://blog.isquaredsoftware.com/2021/01/context-redux-differences/ More on reddit.com
🌐 r/reactjs
51
44
August 19, 2022
Does Context is intended to replace or to not need Redux?

I was on a similar reddit post not too long ago and had the assumption beforehand that react context was a state management system, which it is not. Someone linked this article to me that was super helpful. https://blog.isquaredsoftware.com/2021/01/context-redux-differences/

tldr: context is really just a way to avoid dealing with passing props through nested components. You'd still keep track of state with React hooks like useState, then just pass that state through context. That article goes way deep into why it isn't a redux replacement, too.

Hope it helps!

More on reddit.com
🌐 r/reactjs
33
4
February 5, 2022
usecontext vs redux

They are both different. Context isn’t great for general state management. It’s for specific use cases where you need contextual state for a subtree of components and each instantiation should have its own state.

Redux is for global application state.

But to be honest the API of either one are not my favourite. For most cases I’d use Zustand and maybe context in some specific use cases. It’s pretty rare context is actually required though.

More on reddit.com
🌐 r/reactjs
17
0
December 27, 2022
🌐
GeeksforGeeks
geeksforgeeks.org › gblog › context-api-vs-redux-api
Context API Vs. Redux - GeeksforGeeks
August 23, 2025 - Context API is built into React and is best for simpler apps or cases where you just need to pass data deeply without prop drilling. Redux is a standalone state management library that provides a structured way to manage complex state changes, ...
🌐
Medium
medium.com › @bernardtambo40 › react-context-api-vs-redux-a-beginners-perspective-3244cd83fa2a
React Context API vs Redux: A Beginner’s Perspective | by Bernard Byrnes Mutambo | Medium
December 26, 2025 - But Redux isn’t always the answer. Context still has its place: If you just need to share theme preferences or the current user across a few components, Context is perfect. Don’t overthink it. Context is built into React.
🌐
Isquaredsoftware
blog.isquaredsoftware.com › 2021 › 01 › blogged-answers-why-react-context-is-not-a-state-management-tool-and-why-it-doesnt-replace-redux
https://blog.isquaredsoftware.com/2021/01/context-redux-differences/
January 18, 2021 - Greatest Hits: The Most Popular and Most Useful Posts I've Written Redux - Not Dead Yet! Why React Context is Not a "State Management" Tool (and Doesn't Replace Redux) A (Mostly) Complete Guide to React Rendering Behavior Presentations: Modern Redux with Redux Toolkit When (and when not) to ...
🌐
DEV Community
dev.to › ruppysuppy › redux-vs-context-api-when-to-use-them-4k3p
Redux vs Context API: When to use them - DEV Community
March 1, 2025 - And then there are devs reading blogs about using redux is too complicated and end up introducing their own concepts and ideas around the Context API without knowing one thing about immutable data optimizations and so on. You can use a react context to solve problems that are also being solved by redux, but some features and optimizations are not that easy for homegrown solutions.
Find elsewhere
🌐
DhiWise
dhiwise.com › post › comparing-performance-react-redux-vs-context
Unpacking the Differences: React Redux vs. Context
March 22, 2024 - It's also beneficial when you need to track state changes over time, which can help debug or implement features like undo/redo. The Context API is a simpler state management solution built into React.
🌐
GitHub
github.com › reduxjs › redux › discussions › 4479
Advantages of Redux Over React useContext() ...
Typically, that's done using data from React component state, ie, useState and useReducer. So, you're actually doing all the "state management" yourself - Context just gives you a way to pass it down the tree.
Author   reduxjs
🌐
Bitstack
blog.bitsrc.io › when-to-use-context-api-vs-redux-in-your-next-react-project-59fb0d78840e
When to Use Context API vs Redux in Your Next React Project | Bits and Pieces
January 14, 2026 - Overall, Context API offers an efficient way to manage shared data within your React Application, making it a valuable alternative to passing props manually or using other state management libraries like Redux.
🌐
Medium
medium.com › design-bootcamp › redux-vs-zustand-vs-context-api-their-pros-cons-and-usage-d3bcbb79ab6a
Redux vs Zustand vs Context API: Their Pros, Cons, and Usage | by Israel | Bootcamp | Medium
August 5, 2023 - Redux provides a robust and scalable solution for large-scale projects, while Zustand offers a lightweight option suitable for smaller applications. Context API, as a built-in feature of React, is ideal for simple state management within individual ...
🌐
Bits Kingdom
bitskingdom.com › home › development › react native unplugged: how do i use redux or context api in react native?
Redux vs. Context API in React Native | 2026
March 18, 2025 - Use Redux if your app is large, requires middleware, and needs predictable state management. Use Context API for smaller apps where state management is simple. Consider using both if your app benefits from local and global state separation.
Price   $$
Address   3235 Satellite Blvd Building 400 Suite 550, 30096, Duluth
🌐
freeCodeCamp
forum.freecodecamp.org › javascript
Redux or React Query or Context API
December 2, 2021 - Hi there, Brad Traversy asked on twitter if anyone still uses redux for their react project in 2021… This question gained a lot of engagement and reactions. Some percentage of folks said they still use redux, some said react query is better and others argued that context API is sufficient for them.
🌐
Quora
quora.com › Which-of-these-would-you-use-or-not-React-context-API-useContext-useReducer-Redux-RTK-webkrafters-react-observable-context-Zustand-Mobx-Atom-Signal-etc
Which of these would you use or not: React context API, useContext/useReducer, Redux, RTK, @webkrafters/react-observable-context, Zustand, Mobx, Atom, Signal, etc.? - Quora
React’s context API is all about enabling you to send data to multiple components outside of the standard unidirectional data flow. This in no way touches upon state management. Redux’s state store is purely a way of fetching and updating state (I’d go as far as to say the core of Redux is less about the code itself and more about how Dan Abramov has encouraged people to use said code).
🌐
React
react.dev › learn › scaling-up-with-reducer-and-context
Scaling Up with Reducer and Context – React
Context lets you pass information deep down to other components. You can combine reducers and context together to manage state of a complex screen · In this example from the introduction to reducers, the state is managed by a reducer.
🌐
Codehouse
codehousegroup.com › insights › redux-vs-context-api
Redux | Context API | Codehouse
Context API is easy to is use as it has a short learning curve. It requires less code, and because there's no need of extra libraries, bundle sizes are reduced. Redux on the other hand requires adding more libraries to the application bundle.
🌐
Scalable Path
scalablepath.com › react › context-api-vs-redux
React Context API vs Redux: Comparison of Tools to Manage Data Flow
August 22, 2022 - At Scalable Path, we take a human approach to helping you hire the best React developers for your team.Hire React DevelopersHire React Developers · Originally published on Aug 22, 2022Last updated on Mar 25, 2026 ... In terms of response time, Context API and Redux are about the same speed since their packages only differ by about 2 kilobytes in size.
🌐
Djamware
djamware.com › post › 68e5cf1bbad4634977a9a177 › react-context-api-vs-redux--when-and-how-to-use-each
React Context API vs Redux: When and How to Use Each
October 7, 2025 - Practical, step-by-step programming tutorials covering Angular, React, Java, Rust, Node.js, and modern web technologies.