【发布时间】:2021-03-31 22:38:03
【问题描述】:
我在同一个组件中有两个响应查询
const { data: sdrData, status: sdrDataLoading } = useQuery(
[queryInfo[0]?.dcsSysId, data[0]?.dcsStructSysId, data[cardIndex]?.dcsStructNodeId],
() => getSDR(queryInfo[0]?.dcsSysId, data[0]?.dcsStructSysId, data[cardIndex]?.dcsStructNodeId),
);
const { isIdle, data: sdrTemplateData, status: sdrTemplateDataLoading } = useQuery(
[sdrData[0]?.dcsSdrSysId, queryInfo[0]?.fldTemplateSysId],
() =>
SDRTemplateValues(sdrData[0]?.dcsSdrSysId, queryInfo[0]?.fldTemplateSysId, {
// The query will not execute until the userId exists
enabled: !!sdrData[0]?.dcsSdrSysId,
retry: true,
}),
);
我的第二个查询取决于我需要访问sdrData[0] 以获取查询中的第一个参数的第一个查询,但是当我这样做时,查询最初是未定义的并且它失败了。有没有好的方法来处理这个。我看到你可以将它设置为一个变量,但我仍然面临同样的问题。
我需要一种方法来告诉第一个查询等到第二个查询完成后再尝试访问参数。我以为你可以像我一样设置enabled,但这也没有用。
【问题讨论】: