![](/img/trans.png)
[英]After Delete Mutation not Refetching Query (Apollo Graphql & Nextjs)
[英]Query after mutation in graphql
我想这应该很容易,但是经过长时间的网上搜索却找不到答案:
我只是试图让使用graphql然后刷新使用其他graphql查询后数据的突变,我怎么能做到这一点里面只有一个HTTP(graphql)的要求吗?
尝试失败:
update
(refetchQuery)之类的东西,但是如何在没有任何客户端框架的情况下做到这一点呢? 谢谢:)
相关链接:
如果我对您的理解正确,那么您想发送一个变异,并在同一请求/查询中发送一个查询,等待该变异完成后再解决。 从规范的角度来看,这是完全不可能的。 您可以在此处阅读规范(我知道技术规范听起来很吓人,但是如果您已经对GraphQL有点熟悉,那么就很容易阅读了:-))。
这个想法是,突变结果旨在潜在地返回已更新的数据。 我前一段时间读过一篇有关查询对象类型的文章。 本文重点介绍了该类型如何只是普通的对象类型,并且可以简单地在突变结果中返回它。 尽管我不建议使用这种模式,因为我认为突变结果应该明确列出所有更新的对象,但它确实是可能的,并且可以解决非常复杂的情况(例如您所描述的情况)。 为了使这一点更加直观,这里是一个示例架构:
type ExampleMutationResult {
success: Boolean!
query: Query!
}
type Query {
queryField: String!
}
type Mutation {
exampleMutation: ExampleMutationResult!
}
# Query would look like this
mutation example {
exampleMutation {
success
query {
queryField
}
}
}
如您所见,折衷是相对较高的,只有在可以更改架构时才能启用。 我将首先检查第二个HTTP请求的开销是否确实需要优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.