Svelte · Middle · Запитання 4 з 75
Чому це антипатерн?
let first = $state("Ann");
let last = $state("Lee");
let full = $state("");
$effect(() => {
full = first + " " + last;
});- ✓Правильна відповідь: Синхронізація стану в ефекті дає зайве оновлення й можливі цикли; використовуйте
let full = $derived(first + " " + last) - 2Ефекти не можуть читати дві змінні
- 3Усе гаразд, так і рекомендують
Пояснення
Ефекти - запасний вихід для побічних дій. Якщо значення можна обчислити зі стану, воно має бути похідним.