Recently, I explored more on the full-stack side of things. After getting some hands-on experience with Angular, I decided to learn application state management. The official solution from Angular is the @ngrx/store. We make use of this store very heavily in our most recent project. The project has a very deep and complicated components structure. Although the initial setup of @ngrx/store was a bit tedious, it was all worth it. It improved the code maintainability and extendibility by ten-fold.
Here is a brief presentation from a talk that I gave on this topic.