Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Як signals замінюють патерн «observable store»?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Signals** в Angular замінюють патерн `observable store` тим, що прибирають потребу в потоках (`Observable`) для відстеження стану. **Ключове:** Signals дають реактивність без потоків, підписок і витоків пам'яті - Angular сам знає, які частини дерева залежать від сигналів, і оновлює лише їх.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення`signals` в Angular замінюють патерн `observable store` тим, що прибирають саму потребу в потоках (`Observable`) для відстеження стану. ### Якщо коротко - **Observable store** = реактивний стан через потоки RxJS; підписки, відписки, BehaviorSubject, `next()` та `pipe(map(...))`. - **Signals** = реактивний стан через синхронні посилання, без підписок і потоків. ### Розбір по суті 1. **Зберігання стану.** Раніше в сервісах писали: ```ts private user$ = new BehaviorSubject<User | null>(null); ``` Тепер просто: ```ts user = signal<User | null>(null); ``` Значення зберігається прямо в сигналі, без обгортки потоку. 2. **Читання та реакція.** Замість підписки (`user$.subscribe(...)`) компонент просто читає `user()`. Angular сам відстежує залежності й автоматично оновлює шаблон, коли сигнал змінюється. 3. **Зміна стану.** Раніше - `user$.next(newUser)`. Тепер - `user.set(newUser)` або `user.update(u => {...})`. Усе синхронно і без `subscribe`. 4. **Композиція.** Замість `combineLatest`, `map`, `switchMap` - тепер є `computed()` і `effect()`. `computed` створює похідний стан, `effect` виконує побічні дії при змінах. ### Головна відмінність Signals дають **реактивність без потоків**, підписок і витоків пам'яті. Angular сам знає, які шаблони чи обчислення залежать від яких сигналів, і оновлює лише потрібні частини дерева. Observable store був «реактивним» через push-модель RxJS, а signals - через pull-модель реактивних посилань.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.