🔁 Angular Signals + RxJS – Wann, wie, warum?
(Reaktive Power ohne Chaos – kombiniert oder getrennt einsetzen?)
Angular 16+ hat mit Signals ein neues Kapitel aufgeschlagen. Doch was ist mit RxJS?
Muss ich mich entscheiden – oder geht beides gemeinsam?
In diesem Beitrag schauen wir uns an, wann du RxJS brauchst,
wann Signals reichen und wie du beides smart kombinierst.
1️⃣ Signals ≠ Ersatz für RxJS
Signals sind super für lokalen State und UI-Reaktivität.
Aber RxJS glänzt bei Streams, Interaktionen & Nebenwirkungen.
Use Case | Signals | RxJS |
---|---|---|
UI-State | ✅ | 🔄 |
HTTP Streams | ❌ | ✅ |
Formular-Streams | 🔄 | ✅ |
Computed Values | ✅ | 🔄 |
Nebenwirkungen | 🔄 | ✅ |
2️⃣ Wann nur Signals?
const count = signal(0);
const doubled = computed(() => count() * 2);
effect(() => console.log('Zähler:', count()));
Perfekt für UI-Komponenten, einfache Zustände & lokale Reaktivität.
3️⃣ Wann nur RxJS?
this.users$ = this.http.get<User[]>('/api/users');
Ideal bei:
- HTTP, WebSockets
- Streams & Polling
- debounce, switchMap, mergeMap
4️⃣ Die Kombi: Signals + RxJS
const searchTerm = signal('');
const search$ = toObservable(searchTerm).pipe(
debounceTime(300),
switchMap((term) => this.api.search(term))
);
Tipp:
Nutze toSignal()
/ toObservable()
aus @angular/core/rxjs-interop
.
5️⃣ Anti-Pattern vermeiden
❌ Nie RxJS nur für lokalen State.
❌ Signals nicht missbrauchen für asynchrone Prozesse.
💡 Best of Both:
- Signals für Synchronicity + UI
- RxJS für Asynchronicity + Streams
Fazit
RxJS bleibt wichtig.
Signals sind ein Geschenk für UI-State.
Kombiniert eingesetzt bekommst du das Beste aus beiden Welten.
📚 Nächster Beitrag:
🛠 Angular Control Flow – @if, @for & @switch meistern
Hast du Fragen oder ein Projekt im Kopf?
Ich freue mich auf deine Nachricht. Lass uns gemeinsam deine Vision verwirklichen!
Jetzt Kontakt aufnehmen