State management for Angular 18-21: signals (signal/computed/effect), services-as-state, NgRx Store + Effects + Selectors, NgRx Component Store, NgRx Signals (newer signal-based store). RxJS essentials — operators, async pipe, takeUntilDestroyed, signal/observable interop.
Use this skill to:
- Pick the right state tool (signals / services / NgRx variant / vue-query equivalent).
- Use signals correctly (signal/computed/effect — when each).
- Build a Pinia-style service-as-state singleton.
- Set up NgRx Store + Effects + Selectors.
- Use RxJS without leaking subscriptions (async pipe, takeUntilDestroyed, Subject patterns).
- Bridge signals ↔ observables via toSignal / toOb…