Redux is one of the libraries that helps me implement sophisticated state management in my applications. It goes beyond the local state. It is one of the solutions me would take in a scaling application in order to tame the state. A React application is a perfect fit for Redux, yet other libraries and frameworks highly adopted its concepts as well.
"Redux is a predictable state container on JS" -https://redux.js.org/
Dan Abramov and Andrew Clark are the creators of Redux. It was introduced by Dan Abramov at React Europe in 2015. However, the talk by Dan doesn’t introduce Redux per se. Instead, the talk introduced a problem that Dan Abramov faced that led to implementing Redux.
I don’t want to foreclose the content of the talk, that’s why I encourage you to watch the video yourself. If you are keen to learn Redux, you should dive into the problem that was solved by it.
Nevertheless, one year later, again at React Europe, Dan Abramov reflected on the journey of Redux and its success. He mentioned a few things that had made Redux successful in his opinion. Redux was developed to solve a problem. The problem was explained by Dan Abramov one year earlier when he introduced Redux. It was not 'yet another npm library'. It was the library that solved a hands-on problem. Time Traveling and Hot Reloading stress tested Redux, proving the constraints of Redux to be 'yet' another key factor to library's success. Redux managed to shield away the problem with simple API and a thoughtful way to solve the problem of state management.