queryFn 必须 return 承诺使用反应查询?

queryFn must be return promise using react-query?

我使用反应查询。 结果值应根据查询键确定。 但是,当它是特定查询键时,不应进行 api 调用。

下面的代码有问题吗? 我担心违反反应查询规则。 请帮助我。

function useTest(a,b) {
  const {
    fetchNextPage,
    data,
  } = useInfiniteQuery(['test', a, b], ({ pageParam = 1 }) => {
    
    if (b=== 3) { return; }

    return fetchTest(pageParam, a)
  }, {
    cacheTime: 0,
    staleTime: Infinity,

  });

}

我认为 react-query 无论如何都会将结果包装在 Promise 中,所以你可以这样做:

useQuery(key, () => "foo")

还有。在您的示例中,请注意 data 然后可以是 undefined。在这种情况下,禁用 查询可能会更好:

useInfiniteQuery(['test', a, b], fetchTest, { enabled: b !== 3 })