我正在使用以下形式的 useQuery: const { data } = useQuery(foo, async () => {...})
哪里
foo 是一个在我执行操作时发生变化的值,例如,选择一个下拉菜单项 item1 当我这样做时,会使用过时的数据调用 useQuery 整个功能组件重新渲染,走向初始值 当我再次单击下拉列表中的 item1 时,该组件将使用正确的值进行渲染 我使用 staleTime: Infinity
我希望组件立即呈现正确的值,而不是多次重新加载组件。请告诉我在这种情况下使用 useQuery 是否是一个好主意
const ids: number[] = useMemo(() => { return sampleArray.map((sampleOption) => Number(sampleOption.Team.Id)); }, [sampleArray]);
这里的sampleArray值是由下拉值的变化决定的
const { data: information} = useQuery(["key", ids], () => getInfo(ids), { staleTime: Infinity, enabled: !!param1 });
我在这里找到了解决方案: https://github.com/TanStack/query/issues/3182
const queryClient=useQueryClient()
queryClient.removeQueries();