Angular · Senior · Pytanie 9 z 75
Kiedy przekazać sygnałowi własną funkcję equal?
user = signal<User>(initial, { equal: (a, b) => a.id === b.id && a.version === b.version });- ✓Poprawna odpowiedź: Aby nie powiadamiać zależnych, gdy nowy obiekt jest znaczeniowo równy staremu
- 2Aby sygnał głęboko zamrażał swoją wartość
- 3Aby porównywać sygnał z wartościami z serwera
Wyjaśnienie
Domyślnie sygnały używają Object.is, więc każdy nowy obiekt wywołuje aktualizacje. Własne porównanie zapobiega przeliczeniom i ponownym renderom, gdy ponowne pobranie zwróciło te same dane.