我尝试用react-query获取数据
在我的书中,也许我猜使用react-query V3。但我想反应-查询v4
在我的书中,使用react-query…
const useLatestMovie = () => {
return useQuery<AxiosResponse<MovieDetail>, AxiosError>('latestMovie', latestApi)
}
和调用函数其他文件,
const { isLoading, data } = useLatestMovie()
但是这个代码是liding,数据不存在因为属性'data'在类型'Promise'上不存在。
我如何使这段代码可以工作?
您可以通过在http请求中指定类型来键入查询函数。
在下面的例子中,我们输入了一个带有Users数组的get请求。因为数据是在useQuery钩子中输入并返回的,typescript将隐式地知道类型。
async function fetchUsers() {
const { data } = await http.get<User[]>('/users');
return data;
}
export function useUsers() {
return useQuery(['users'], () => fetchUsers());
}
当我们在应用程序中使用useUsers钩子时,users变量的类型将是Users[]
const { data: users } = useUsers();
我试着回答…
-
using query array…
return useQuery<AxiosResponse,>(['latestMovie'], latestApi)
类型选择 return useQuery<MovieDetail,>(['latestMovie'], latestApi)