#javascript #reactjs #react-query
#javascript #reactjs #react-запрос
Вопрос:
Я использую запрос react в своем приложении react таким образом
const { data, status } = useQuery(key, queryFunc, { staleTime: 1 * 60 * 1000 });
Я хочу иметь возможность аннулировать определенный ключ в кэше на основе значения данных, в основном, когда данные равны нулю, поэтому я добавил эффект
useEffect(() => {
if (data === null) {
queryClient. invalidateQueries(key)
}
}, [data])
Этот подход вызовет цикл запроса, в котором недействительный запрос будет повторно выбран, получит null в качестве ответа, эффект выполняется и аннулируется и так далее и тому подобное…
Я хочу иметь возможность удалять ключ из кэша без повторной выборки, поэтому я не попадаю в этот бесконечный цикл запросов, копался в документах react query, но безуспешно. В любом случае, был аналогичный случай с react query, когда ключ необходимо удалить из кэша без повторной выборки?
Ответ №1:
Я думаю queryClient.removeQueries(key)
, будет делать то, что вы хотите: https://react-query.tanstack.com/reference/QueryClient#queryclientremovequeries
Не могли бы вы немного подробнее рассказать о своем варианте использования? Почему вы хотите удалить запрос из кэша, если данные имеют значение null?