Angular › State Management

How do signals simplify state management compared to relying entirely on RxJS observables?

Intermediate

Answer

Signals let you read and update a value directly and synchronously, without needing to subscribe or manage a subscription's lifecycle, making many common state management scenarios noticeably simpler to write and reason about, while RxJS remains valuable for more complex asynchronous data streams.
// Signal based, simple and synchronous
count = signal(0);
this.count.set(5);

// Observable based, requires subscribing to actually use the value
count$ = new BehaviorSubject(0);
this.count$.subscribe((value) => console.log(value));
Real-world example A settings service switches its simple boolean flags, like whether dark mode is enabled, from BehaviorSubjects to signals, immediately simplifying the code in every component that reads those values.

Common follow-ups: When would you still prefer an observable over a signal for managing a specific piece of state?;How do signals and observables work together in the same Angular app?