Using React Context as state management...

A guide on why context != state management in React

“Context vs Redux” has been one of the most widely debated topics within the React community ever since the current React Context API was released. Sadly, most of this “debate” stems from confusion over the purpose and use cases for these two tools. I’ve answered various questions about Context and Redux hundreds of times across the internet (including my posts Redux - Not Dead Yet!, React, Redux, and Context Behavior, A (Mostly) Complete Guide to React Rendering Behavior, and When (and when not) to Reach for Redux), yet the confusion continues to get worse.

Given the prevalence of questions on this topic, I’m putting together this post as a definitive answer to those questions. I’ll try to clarify what Context and Redux actually are, how they’re meant to be used, how they’re different, and when you should use them.