Building Reactive State Management Systems with RxJS
State management is hard, and for good reason. If we imagine the perfect state management library, the main features of that library would be scalability, predictability, performance, maintainability, developer experience, and flexibility. RxJS can help us with all of that. It can make our state more scalable by efficiently managing the complexity of data flows and user interactions throughout our app. We can model state changes as streams of events in a structured way, so it is easier to reason about state complexity. Also, RxJS enables us to express state changes declaratively and react to state changes in a natural way, where changes are propagated automatically throughout the system as they occur, which can lead to more efficient state updates, performance-wise. All of this makes state changes more predictable and testable, as well as easier to debug.
In this chapter, we’re going to cover some of the most advanced...