Як сигнали (signals) впливають на підхід до state management?
Сигнали (signals) в Angular - це новий спосіб зберігання й відстеження стану, який робить state management простішим, реактивнішим і наочнішим.
Як це змінює підхід:
- Більше не потрібно вручну підписуватися
- сигнали автоматично відстежують, хто на них "дивиться"
- не потрібні
subscribe(),unsubscribe()іasync
- Стан можна оновлювати напряму й декларативно
ts
const count = signal(0);
count.set(count() + 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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.