Zarządzanie stanem · Senior · Pytanie 55 z 75
Co jest nie tak z tą aktualizacją bufora?
queryClient.setQueryData(["todos"], (old) => {
old.push(newTodo);
return old;
});- ✓Poprawna odpowiedź: Mutuje buforowane dane; zwróć nową tablicę, inaczej obserwatorzy mogą się nie zaktualizować, a structural sharing się psuje
- 2
setQueryDataprzyjmuje tylko obiekty - 3Trzeba na nie czekać przez await
Wyjaśnienie
Pisz (old) => old ? [...old, newTodo] : [newTodo]. Dane bufora traktuje się jako niemutowalne, tak jak stan Reacta.