在前面的文章中描述了cache
在react native
中的作用。React Native项目使用react-apollo实现更新缓存的两种方式。在这篇文章中描述了使用react-apollo
进行管理缓存的两种方式。
query和readQuery的区别
query的数据查询来源有两个:
1:服务器
2:缓存
readQuery的数据查询来源只有一个:
1:缓存
例如在首次进入A页面时他是使用react-apollo
的Query
组件从服务器查询,等到第二次进入时他不会再次从服务器中获取数据,而是从cache
中获取数据。
但是在有些场景中,我们必须要实现一进入页面就自动刷新获取服务器中数据。因此必须设法将query从cache中获取数据这个途径给切断,让他始终从服务器获取数据。此时就可以实现一进入页面就会自动下拉刷新。
官网中已经给出了相应的解决办法:
绕过缓存:在特殊环境下,你可以根据特定的需要设置不一样的策略。
针对fetchPolicy
的描述下面有我在官网中找到的描述