我正在将中继用于 react native 应用程序,并且需要在应用程序生命周期的某些点强制无效或强制获取查询。我注意到您可以使用 Relay 创建一个查询,然后强制获取它。这会更新缓存。理想情况下,我想做 Mutations API 中所做的事情。我想提供一个与现有数据相交的胖查询,并重新获取该交集。但我不知道该怎么做。如果我尝试这样做:
var query = Relay.createQuery(
Relay.QL`
query Root {
viewer {
unreadNotificationCount,
notifications
}
}
`, {
}
并应用environment.forceFetch({ query })
我收到有关通知
的验证错误,不包括first
或last
参数。但我不想包含第一个或最后一个参数,因为我不知道我的应用程序的其余部分已加载了多少通知。
这里有什么想法吗?
最佳答案
不幸的是,没有简单的方法可以让您实现该交叉,至少不能仅使用 forceFetch
。突变 API 的作用不仅仅是尝试获取模式查询 - 它对本 map 执行交集以计算发送的实际突变查询。
您绝对可以使用 forceFetch 要求单个容器重新获取其日期。 , 尽管。因此,如果您有一个获取通知的容器(我怀疑您确实这样做),只需每 N 秒触发一次 forceFetch
即可。
关于graphql - 使用模式查询的中继缓存失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37150580/