Skip to main content

Як сигнали (signals) впливають на підхід до state management?

Сигнали (signals) в Angular - це новий спосіб зберігання й відстеження стану, який робить state management простішим, реактивнішим і наочнішим.


Як це змінює підхід:

  1. Більше не потрібно вручну підписуватися
  • сигнали автоматично відстежують, хто на них "дивиться"
  • не потрібні subscribe(), unsubscribe() і async
  1. Стан можна оновлювати напряму й декларативно
ts
const count = signal(0); count.set(count() + 1);
  1. Компонент сам оновлюється, коли сигнал змінюється
  • Angular сам відстежує залежності
  • усе працює швидше і чистіше

Для чого підходять сигнали:

  • локальний стан (перемикачі, фільтри, UI-прапорці)
  • стан у сервісах (signal() замість BehaviorSubject)
  • зв'язування компонентів без RxJS

Приклад:

ts
@Injectable({ providedIn: 'root' }) export class AuthService { user = signal<User | null>(null); login(user: User) { this.user.set(user); } logout() { this.user.set(null); } }

Висновок: Сигнали - це новий мінімалістичний спосіб керувати станом, де все видно, усе відстежується автоматично, і ніщо не тече. Особливо корисно, коли не потрібен весь "оркестр" RxJS чи NgRx.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.