Обновите кеш периодического реагирующего запроса с помощью refetchInterval из другого места

В качестве счетчика я периодически опрашиваю бэкэнд с помощью реагирующего запроса, используя опцию refetchInterval:

const { items } = useQuery(
  ["queryKey"],
  requestFn,
  {
    refetchInterval: 5000,
  }
);
...
<Counter>{items.length}</Counter>

Увы, когда я добавляю или удаляю элемент, на отражение в счетчике уходит до 5 секунд.

Как я могу заставить счетчик обновляться немедленно?

Я думал запустить запрос с тем же ключом один раз после процедуры добавления/удаления, но это не сработало.

addItem().then(() => useQuery(
  ["queryKey"],
  requestFn,
))
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
96
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы, вероятно, захотите сделать queryClient.invalidateQueries(["queryKey"]) после запуска мутации, потому что это сразу же повторно извлечет новые данные. Это задокументировано здесь: https://tanstack.com/query/v4/docs/guides/invalidations-from-mutations

Другие вопросы по теме