克服 useQuery 中的这些 TS 错误?
overcoming these TS errors in useQuery?
所以,这对我来说并不明显。我期待 return 这个:
数据:{
总价:字符串;
}
然而,我发现 Promise 和 QueryFunction 之间不匹配....
我正在创建自定义查询挂钩...
return useQuery<AddSkuSelectedSku['totalPrice'], Error>(
[queryKey, item],
async () => {
const { data } = await product.price({ item })
return {
totalPrice: data?.price || ''
}
}, mergedOptions
);
我发现我的 QueryFunction 出现了同样类型的错误。
是否因为我使用了 'async function' 作为第二个参数?
因此,我正在使用的文件出现 TS 错误,因为 returned 类型已关闭。
queryFn
参数需要 return 类型的 string
或 Promise<string>
。一个 async
方法 return 一个 Promise<T>
,所以你就快到了。
而不是 returning { totalPrice: data?.price || '' }
,你应该 return data?.price || ''
,假设 data?.price
是一个字符串。
所以,这对我来说并不明显。我期待 return 这个:
数据:{ 总价:字符串; }
然而,我发现 Promise 和 QueryFunction 之间不匹配....
我正在创建自定义查询挂钩...
return useQuery<AddSkuSelectedSku['totalPrice'], Error>(
[queryKey, item],
async () => {
const { data } = await product.price({ item })
return {
totalPrice: data?.price || ''
}
}, mergedOptions
);
我发现我的 QueryFunction 出现了同样类型的错误。
是否因为我使用了 'async function' 作为第二个参数?
因此,我正在使用的文件出现 TS 错误,因为 returned 类型已关闭。
queryFn
参数需要 return 类型的 string
或 Promise<string>
。一个 async
方法 return 一个 Promise<T>
,所以你就快到了。
而不是 returning { totalPrice: data?.price || '' }
,你应该 return data?.price || ''
,假设 data?.price
是一个字符串。