首页 > 解决方案 > 如何在 React 的第二个 API 调用中使用一个 API 的结果?

问题描述

例如,我有 FindDogInfo,它接受一个 dog_id 并返回一个 medical_record_id,我还有另一个名为 GetDogMedicalRecord 的 API,它接受一个 medical_record_id。

如何使用获取 FindDogInfo 返回的 medical_record_id 并在调用 GetDogMedicalRecord 时使用它?

在我正在处理的项目中,react-query 中的 useQuery 挂钩通常包装 API 调用并公开为“UseFindDogInfo”。有没有办法让这种使用来自一个 API 的数据来使用 react-query 查询另一个 API 功能?

标签: reactjsreact-hooksreact-query

解决方案


您正在寻找相关查询

 // Get the user
 const { data: user } = useQuery(['user', email], getUserByEmail)
 
 const userId = user?.id
 
 // Then get the user's projects
 const { isIdle, data: projects } = useQuery(
   ['projects', userId],
   getProjectsByUser,
   {
     // The query will not execute until the userId exists
     enabled: !!userId,
   }
 )

推荐阅读