Svelte · Middle · Pytanie 4 z 75
Dlaczego to antywzorzec?
let first = $state("Ann");
let last = $state("Lee");
let full = $state("");
$effect(() => {
full = first + " " + last;
});- ✓Poprawna odpowiedź: Synchronizacja stanu w efekcie dodaje zbędną aktualizację i możliwe pętle; użyj
let full = $derived(first + " " + last) - 2Efekty nie mogą czytać dwóch zmiennych
- 3Wszystko w porządku i tak się zaleca
Wyjaśnienie
Efekty to furtka dla efektów ubocznych. Jeśli wartość można obliczyć ze stanu, powinna być pochodna.