我正在使用relay for react-native app并需要强制使用invalidate,或者在应用程序生命周期的某些点强制查询我的查询。我注意到你可以使用Relay创建一个查询,然后强制获取它。这会更新缓存。理想情况下,我想在Mutations API中完成所做的工作。我想提供一个与我现有数据相交的胖查询,并重新获取该交集。但我无法弄清楚如何做到这一点。如果我试图这样做:
var query = Relay.createQuery(
Relay.QL`
query Root {
viewer {
unreadNotificationCount,
notifications
}
}
`, {
}
并应用environment.forceFetch({ query })
我收到的notifications
验证错误不包括first
或last
个参数。但我宁愿不必包含第一个或最后一个参数,因为我不知道在我的应用程序的其余部分中加载了多少通知。
这里有什么想法吗?
答案 0 :(得分:2)
不幸的是,你做这个交集并不是一件轻而易举的事,至少不只是使用forceFetch
。变异API不仅仅是尝试获取模式查询 - 它还会执行与局部图的交集来计算发送的实际变异查询。
但是,您绝对可以要求单个容器使用forceFetch重新获取日期。因此,如果您有一个容器来获取通知(我怀疑您这样做),只需每N秒触发一次forceFetch
。