我正在使用Apollo Client,并且为了获取查询,我使用了useQuery
软件包中的@apollo/react-hooks
。
我想完成以下任务:
步骤列表:
步骤1:获取查询stage
const GetStage = useQuery(confirmStageQuery,{
variables: {
input: {
id: getId.id
}
}
});
第2步:根据我们从GetStage
获得的响应,我们希望在2个独立的查询之间进行切换
if (!GetStage.loading && GetStage.data.getGame.stage === "Created") {
Details = useQuery(Query1,{
variables: {
input: {
id: getId.id
}
}
});
} else if (!GetStage.loading && GetStage.data.getGame.stage === "Confirmed") {
Details = useQuery(Query2,{
variables: {
input: {
id: getId.id
}
}
});
}
第3步:同样,每次页面加载时,我都会重新获取数据。
useEffect(() => {
//Fetch for Change in the Stage
GetStage.refetch();
//Fetch for Change in the Object
if (Details) {
Details.refetch();
if (Details.data) {
setDetails(Details.data.getGame);
}
}
});
问题?
与上次渲染相比,渲染了更多的钩子。
Details.data未定义
那么我们如何在Apollo Client中调用多个异步查询?