首页 > 解决方案 > 克服 useQuery 中的这些 TS 错误?

问题描述

所以,这对我来说并不明显。我期待返回这个:

数据:{总价格:字符串;}

然而,我发现 Promise 和 QueryFunction 之间不匹配......

我正在创建一个自定义查询挂钩...

  return useQuery<AddSkuSelectedSku['totalPrice'], Error>(
    [queryKey, item],
    async () => {
      const { data } = await product.price({ item })

      return {
        totalPrice: data?.price || ''
      }
    }, mergedOptions
  );

我看到我的 QueryFunction 出现这种相同类型的错误。

是因为我使用“异步函数”作为第二个参数吗? 在此处输入图像描述

正因为如此,我正在使用的文件在返回类型关闭时给出 TS 错误。

标签: react-query

解决方案


queryFn参数需要 astring或 a的返回类型Promise<string>。一个async方法返回 a Promise<T>,所以你快到了。

而不是返回{ totalPrice: data?.price || '' },你应该返回data?.price || '',假设data?.price是一个字符串。


推荐阅读