There was once a time when React was synonymous with Redux. So much so, you really couldn’t begin to think of having a React application without having Redux as well. It was just how things were. Moving forward to the present, that isn’t the case. Redux has gotten a bad name. Not from the technology itself, but more so from its’s common style of use. So that begs the question, today, is Redux viable or just past its prime?
Redux As A Technology
Redux was designed to be an easily accessible data store. At the time of React’s creation, the idea of state-managed variables existed. However, there was no solid incorporated way to handle data management at a high level efficiently. Redux solved that for React. In addition, it introduced the concept of data management, in a proper fashion, to the FE development community at large.
Where Things Went Wrong
Well, with all good technology, the introduction is only the first step. Learning how to use it properly and effectively, is a whole new world of adventure, combined with lots of trial and error. With Redux, that couldn’t be more overstated. For what feels like decades, even though it was only a few years, Redux was misused as the catch-all in the majority of applications built in React. All data was stored in a Redux store, and all levels of the application had to interact with it to get anything done. Even making simple API calls. Madness!
Eventually, people started to realize that this approach was a huge antipattern, reduced productivity and just added enough complexities to an application that could fill up a cornfield in Iowa. In that realization came companies spending a lot of time refactoring to clean up usage, being one of the devs doing this dirty work in Silicon Vally myself, it took up a lot of time. Thus, came the era of Redux being labeled as bad technology.
Is Redux Really Bad?
No, Redux is not bad! In fact, the way I see it, it’s a critical technological introduction into the FE development space that shaped a generation and introduced many to thinking of code on the web as applications. Instead of just brochure websites. Redux as the technology itself, is a strong choice for a Global data store.
For me, in most cases, yes I would use it. If I’m not building a full-stack application on a framework like Next.JS, then it would be a part of my architecture for sure! It’s most cases, it’s rare that modern and well-maintained technology is 100% bad tech. In the case of Redux, it’s a very niche singular use case that needs to be done right to be fully beneficial.