【问题标题】:queryFn must be return promise using react-query?queryFn 必须是使用 react-query 的返回承诺?
【发布时间】:2021-06-17 07:07:16
【问题描述】:

我使用反应查询。 结果值应根据查询键确定。 但是,当它是特定的查询键时,不应该进行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,

  });

}

【问题讨论】:

  • 如果回调必须返回 Promise,我猜 return; 可能是 return Promise.resolve() - 您的代码当前是否产生错误?

标签: javascript reactjs react-query


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常非常感谢。我英语说得不好。我不知道启用的选项。 :)
猜你喜欢
  • 2019-04-25
  • 2020-12-26
  • 2019-03-04
  • 1970-01-01
  • 2021-02-04
  • 2014-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多