NgRx is a Redux-inspired state-management library for Angular. It centralizes application state in a single immutable store, with a strict, predictable, unidirectional data flow built on RxJS.
The core pieces and flow
Component dispatches an ACTION →
REDUCER produces new state (pure function) →
STORE updates →
SELECTORS read state →
Component re-renders
(EFFECTS handle side effects like HTTP, dispatching new actions)
