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[]
放入第三個泛型型別參數或程式碼自行推斷的位置。