Reactjs React中的阿波罗部分数据行为
这是我能找到的唯一文档: 我注意到第一次执行返回部分数据的查询时,我得到了Reactjs React中的阿波罗部分数据行为,reactjs,apollo-client,Reactjs,Apollo Client,这是我能找到的唯一文档: 我注意到第一次执行返回部分数据的查询时,我得到了数据和错误: const { data, error } = useQuery(QUERY, { errorPolicy: 'all' }); 第二次执行相同的查询时,它从InMemoryCache中读取。阿波罗返回数据,但不再返回错误详细信息。我猜想错误响应没有被缓存。然而,没有办法判断是否出了问题 当部分响应包含错误时,是否有方法告诉Apollo立即使缓存无效,以便下次它离开网络重试 此外,我们是否可以有进一步的
数据
和错误
:
const { data, error } = useQuery(QUERY, { errorPolicy: 'all' });
第二次执行相同的查询时,它从InMemoryCache中读取。阿波罗返回数据
,但不再返回错误
详细信息。我猜想错误响应没有被缓存。然而,没有办法判断是否出了问题
当部分响应包含错误时,是否有方法告诉Apollo立即使缓存无效,以便下次它离开网络重试
此外,我们是否可以有进一步的文档来描述以下情况下的行为:
- 整个查询成功
- 当部分成功时
- 下次重试的备选方案
- 从本地缓存读取时使用查询变量输出
fetchPolicy
。我期待AC3已经支持的东西。文档中没有太多关于部分数据的内容。如果我没有弄错的话,你似乎希望所有的获取结果都有自己的错误状态,我相信这可能是不可能的,因为如果你不做一些自定义的“hack”,上一个将被最新的重写。但如果你只是想对上一个结果采取行动。也许您正在寻找notifyOnNetworkStatusChange
。我认为notifyOnNetworkStatusChange
不适用,因为没有网络调用。缓存已使用。我期望一致性。如果我多次调用同一个查询并得到相同的结果。对于带有错误的部分响应/数据
,不会发生这种情况。