Rumah > Soal Jawab > teks badan
Saya cuba mengubah data pertanyaan daripada respons API. Lebih khusus lagi, saya ingin menambah dua sifat tambahan. Itulah sebabnya saya mengkonfigurasinya dalam useQuery
挂钩中使用 select
seperti ini:
Tetapi dalam kes ini saya tidak mendapat cadangan untuk dua sifat tambahan. Itulah sebabnya saya menambah model lain dan menggunakannya dengan cangkuk useQuery
seperti ini:
Tetapi ia mendapat ralat.
Saya buntu dengan masalah ini.
Edit pada kotak pasir kod
P粉2621135692024-01-09 18:12:49
Cuba ini, masalahnya ialah useQuery
的第一个泛型类型参数不是返回的数据类型。它是 queryFn
返回类型。您可以将 ModifiedProduct[]
meletakkan parameter jenis generik ketiga atau di mana kod menyimpulkannya sendiri.
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; } });