A
ANGULAR
How does NgRx manage state immutability, and what are memoized selectors?
NgRx implements Redux architecture: Actions describe events, Reducers compute pure state transitions, and Effects handle side effects asynchronously. Selectors created via `createSelector()` are pure memoized projection functions: they cache previous outputs and only recalculate if slice arguments change by reference equality (`===`). This guarantees `OnPush` components bound via `store.select(selector)` do not trigger redundant re-evaluations.
◦ ngrx
