我想这是一个简单的问题,但我被困在这里一段时间,所以任何建议可能会有帮助!
我有一个react应用程序,我正在调用一个GraphQL API(使用apollo)。在一个箭头函数组件中,我有:
const [executeQuery, { data }] = useLazyQuery(GET_ALL_TASKS);
const findId = (step) => {
executeQuery({
variables: {
"query": {
"state": "CREATED",
"taskDefinitionId": "something"
}
}
})
}
查询成功,在浏览器的inspect面板中,我得到了graphql响应:
{
"data" : {
"tasks" : [ {
"id" : "2251",
"name" : "some_name",
"__typename" : "Task"
} ]
}
}
在我的代码中,我想使用检索到的id。我如何从响应中分离出id?当我试图访问 data 时,我得到了一个 undefined 错误。谢谢!
2条答案
按热度按时间5uzkadbs1#
不确定为什么要将
executeQuery
Package 在函数中。数据将是响应的一部分,因此您可以按如下方式获取数据:
g0czyy6m2#
对于任何可能有同样问题的人,我意识到这是一个发生在apollo客户端的缓存错误。我无法找出解决方案。但是,我暂时解决了它降级apollo客户端依赖到版本3.2.5