如何从react-query(V4) Promise中获取数据



我尝试用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();

我试着回答…

  1. using query array…

    return useQuery<AxiosResponse,>(['latestMovie'], latestApi)

  2. 类型选择
  3. return useQuery<MovieDetail,>(['latestMovie'], latestApi)

相关内容

  • 没有找到相关文章

最新更新