How do you decide how much state management an Angular application needs?
This is a judgement question, and the answer they are hoping for is that you start small and escalate only on evidence.
The progression:
- Component state for anything one component owns. Most state is this, and moving it further out is a real cost.
- A service with a BehaviorSubject or a signal for state shared across a feature. This handles the large majority of applications and needs no library.
- NgRx or a similar store when you genuinely have the problems it solves: many components reading and writing the same state, a need for time-travel debugging or an audit trail of actions, or complex asynchronous coordination that Effects express better than nested subscriptions.
The cost of a store is real — actions, reducers, selectors, and effects for every piece of state, plus a learning curve for every new joiner. Adopting it for a form is a net loss.
Note: Saying you have used NgRx and would not use it again for that particular project is a strong answer. It shows you evaluate tools rather than collect them.





