Redux is one of those technologies that I consider a “personal Everest”. Everytime I look at it, I feel like there’s no end to the boilerplate and patterns to memorize.
At my first job and the first codebase I worked on, we had to use NGRX (Angular’s version of Redux). It was incredibly challenging; I spent hours reading docs and watching tutorials trying to understand NGRX. I even tried learning Redux in a desperate attempt to understand NGRX. I constantly complained to my boss about all the boilerplate, files, and patterns to memorize.
He told me, “If you were to use your own solution instead, you’d probably end up repeating those same patterns anyway”.
I finally concede. After managing React state with everything except Redux, I’ve found myself appreciating why it works the way it does and requires so much boilerplate. After learning React’s Context API,
useReducer and a lot more about managing state, I finally appreciate Redux.
It’s not easy getting from A to B though. There’s a lot of ground to cover between learning
useReducer, and even more when you get into Redux and managing complicated states.