我有两个屏幕:
屏幕 1:结果
屏幕 2:编辑过滤器
当我在 Screen2 上编辑过滤器并按回时,我想重新获取 Screen1 上的查询(使用新构建的过滤器字符串变量)。编辑过滤器不使用突变或触发任何 Redux 操作(我将用户搜索过滤器/首选项存储在 localStorage/AsyncStorage 而不是数据库中,因此没有突变)。我只是在更改表单的本地状态并使用它来构建一个过滤器字符串,我想将它传递给 Screen1 上的某个查询。如果有帮助,我可以访问两个屏幕上的过滤器字符串。
似乎refetch()
仅限于其查询包装的组件http://dev.apollodata.com/react/receiving-updates.html#Refetch那么我将如何从不同的屏幕重新运行查询?
我尝试在 Screen1 和 Screen2 上放置相同的查询,然后在 Screen2 上调用 refetch,虽然查询有效并在 Screen2 上获取新数据,但同名查询不会在我实际需要的 Screen1 上更新。如果他们有相同的名字,难道不应该吗?(但过滤器变量已更改)
如果我只是设计不正确并且有更简单的方法可以做到这一点,请告诉我。我希望如果我有 2 个屏幕,将相同的查询放在两个屏幕上,并使用新的过滤器变量重新获取其中一个查询,那么重新获取应该在两个地方发生,但它目前正在单独处理它们。