Керування станом · Senior · Запитання 55 з 75
Що не так із цим оновленням кешу?
queryClient.setQueryData(["todos"], (old) => {
old.push(newTodo);
return old;
});- ✓Правильна відповідь: Воно мутує закешовані дані; поверніть новий масив, інакше спостерігачі можуть не оновитися, а structural sharing зламається
- 2
setQueryDataприймає лише об'єкти - 3На нього треба чекати через await
Пояснення
Пишіть (old) => old ? [...old, newTodo] : [newTodo]. Дані кешу вважаються іммутабельними, як і стан React.