Introduction

Redux is a predictable state container using to manage global state.

If you want to manage the global state of your application in a predictable way, redux can help you.

The patterns and tools provided by Redux make it easier to understand when, where, why, and how the state in your application is being updated, and how your application logic will behave when those changes occur.

Redux guides you towards writing code that is predictable and testable, which helps give you confidence that your application will work as expected.

Redux toolkit is the official, opinionated, batteries-included toolset for efficient Redux development.

Redux is great, but it does have a few shortcomings:

Redux toolkit serves as an abstraction over redux. It hides the difficult parts ensuring you have a good developer experience.

<aside> 💡 Redux or Redux toolkit don't need a Ul library to work. React-Redux is the official Redux Ul binding library for React.

</aside>

Redux is great but not all applications need redux, as a general rule of thumb use redux when: