Could you be making your Angular app harder than it needs to be by using NgRx everywhere?
Why When NgRx is overkill in Angular? - Purpose & Use Cases
Imagine building a small Angular app where you only need to share a few pieces of data between two components.
You try to set up NgRx, writing actions, reducers, effects, and selectors just to manage this simple data.
Setting up NgRx for small tasks is like using a huge machine to crack a tiny nut.
It adds lots of files and complexity, making your code harder to read and slower to write.
Recognizing when NgRx is too much helps you keep your app simple and fast.
You can use Angular's built-in features like services with BehaviorSubject or signals to share data easily without extra overhead.
store.dispatch({ type: 'LOAD_DATA' }); // plus reducers, effects, selectors for simple datadataService.data$.subscribe(value => { /* use data directly */ });You can build clean, maintainable Angular apps by choosing the right state management approach for your needs.
For a simple form with a few inputs shared between components, using a service with observables is quick and clear, avoiding the heavy setup of NgRx.
NgRx is powerful but can be too complex for small tasks.
Using simpler Angular features keeps your code easier to understand and faster to develop.
Choosing the right tool for your app size improves maintainability and developer happiness.