【发布时间】:2021-01-09 12:44:39
【问题描述】:
我们正在将 Apollo 添加到使用 React-Native 构建的现有移动应用中。
今天我们使用 Redux-Saga 来调度动作和执行后台请求,有时由于技术原因会有一定的延迟。我们想对 Apollo 客户端做同样的事情。
鉴于 Apollo 客户端的机制,每当组件被卸载时,从带有 setTimeout 的屏幕执行重新获取 useQuery 以添加 5-10 秒的延迟可能会中断。虽然,我们仍然希望执行重新获取,但稍后,即使我在完全不同的屏幕上。
目前,当我在未安装的屏幕上尝试重新获取时出现以下错误:
TypeError - undefined 不是一个对象(评估 'c.currentObservable.query.refetch')
我正在寻找一种在后台延迟重新获取数据的解决方案。一旦获取成功,它将使用相同的查询更新所有组件。
几乎就像将指令添加到需要稍后执行的队列中。
我正在考虑使用全局上下文来执行这些,但我不确定这是正确的解决方案,我想知道是否有人有这种用例以及他们如何解决它们?
谢谢
【问题讨论】:
标签: reactjs react-native apollo react-apollo