84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我正在尝试转换来自 API 响应的查询数据。更具体地说,我想添加两个额外的属性。这就是为什么我在 useQuery 挂钩中使用 select 配置,如下所示: 但在这种情况下,我没有得到额外两个属性的建议。这就是为什么我添加了另一个模型并将其与 useQuery 挂钩一起使用,如下所示: 但它出现错误。
useQuery
select
我被这个问题困住了。
在codesandbox上编辑
试试这个,问题是useQuery的第一个泛型类型参数不是返回的数据类型。它是 queryFn 返回类型。您可以将 ModifiedProduct[] 放入第三个泛型类型参数或代码自行推断的位置。
queryFn
ModifiedProduct[]
const { data, isLoading } = useQuery({ queryKey: ["fetch-products"], queryFn: fetchProducts, select: (data) => { const items = data.map( (prod): ModifiedProduct => ({ ...prod, dateOfAdd: new Date(), dateOfUpdate: new Date() }) ); return items; } }); // this should also work const { data, isLoading } = useQuery<Product[], unknown, ModifiedProduct[]>({ queryKey: ["fetch-products"], queryFn: fetchProducts, select: (data) => { const items = data.map( (prod): ModifiedProduct => ({ ...prod, dateOfAdd: new Date(), dateOfUpdate: new Date() }) ); return items; } });
试试这个,问题是
useQuery
的第一个泛型类型参数不是返回的数据类型。它是queryFn
返回类型。您可以将ModifiedProduct[]
放入第三个泛型类型参数或代码自行推断的位置。