Angular · Senior · Запитання 8 з 75
Що не так із цим ефектом?
total = signal(0);
constructor() {
effect(() => this.total.set(this.price() * this.qty()));
}- ✓Правильна відповідь: Похідний стан має бути
computed(); синхронізація сигналів ефектами додає зайві цикли й ризикує зациклитися - 2Ефекти не можуть читати більше одного сигналу
- 3
setне можна викликати з числом
Пояснення
total = computed(() => this.price() * this.qty()) синхронний, лінивий і завжди узгоджений. Якщо потрібен ще й запис - linkedSignal; ефекти лишіть для побічних дій поза графом сигналів (DOM, сховище, логування).