useQuery挂钩提供的数据对象与xhr查询请求中的响应对象不同。指出要突变的数据。在具有相同变量的graphql-playground中,查询工作正常。
查询中的查询:
query GetThing($parentId: String!, $otherId: ID!) {
getParent(parentId: $parentId, otherId: $otherId) {
id
containers{
id
objects{
id
things{
id
done ----- This boolean is being mutated between getting the response object and returning data object
}
}
}
}
}
我确保没有代码可以更改数据对象,我是在完成查询后通过控制台直接记录它。
我希望数据对象与响应对象匹配,但事实并非如此。沿途的某个地方,阿波罗客户(Apollo-client)始终以不一致的方式持续更改此布尔值。我的意思是,它总是以看似随机的方式持续发生。阿波罗客户端会以任何方式改变数据吗?
编辑: 我确定这是由于apollo客户端如何处理许多关系而发生的。 Apollo客户端将保持多对多关系的同步,同时保持高速缓存的最新状态,这使得从多对多关系中添加其他数据无效。我与用户和任务之间存在多对多的关系,另外还有一些数据,如果用户将任务标记为已完成。