首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React Apollo默认fetchPolicy

React Apollo是一个用于构建GraphQL客户端的JavaScript库。它提供了一组工具和组件,使开发人员能够轻松地在React应用程序中集成GraphQL查询和变异。

fetchPolicy是React Apollo中的一个选项,用于指定数据获取的策略。它有以下几种取值:

  1. cache-first(默认值):首先尝试从缓存中获取数据,如果缓存中有数据则立即返回,否则发起网络请求获取数据。
    • 优势:快速响应,减少网络请求。
    • 应用场景:适用于数据不经常变动的场景,如静态页面、公共数据等。
    • 推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)。
    • 产品介绍链接地址:腾讯云云服务器腾讯云对象存储
  • cache-and-network:首先尝试从缓存中获取数据,然后发起网络请求获取最新数据,并将最新数据更新到缓存中,返回最新数据。
    • 优势:提供了即时更新的数据,同时利用了缓存的优势。
    • 应用场景:适用于需要及时更新数据的场景,如实时聊天、实时数据展示等。
    • 推荐的腾讯云相关产品:腾讯云云数据库Redis版(TencentDB for Redis)。
    • 产品介绍链接地址:腾讯云云数据库Redis版
  • network-only:直接发起网络请求获取数据,不使用缓存。
    • 优势:获取最新数据,不受缓存影响。
    • 应用场景:适用于需要获取最新数据的场景,如实时搜索、实时推荐等。
    • 推荐的腾讯云相关产品:腾讯云云函数(SCF)、腾讯云消息队列CMQ。
    • 产品介绍链接地址:腾讯云云函数腾讯云消息队列CMQ
  • no-cache:不使用缓存,直接发起网络请求获取数据,并且不将数据存入缓存。
    • 优势:获取最新数据,不受缓存影响。
    • 应用场景:适用于每次都需要获取最新数据的场景,如实时监控、实时报警等。
    • 推荐的腾讯云相关产品:腾讯云云监控(Cloud Monitor)、腾讯云日志服务(CLS)。
    • 产品介绍链接地址:腾讯云云监控腾讯云日志服务
  • cache-only:仅使用缓存中的数据,不发起网络请求。
    • 优势:快速响应,减少网络请求。
    • 应用场景:适用于离线状态下的数据展示,或者需要快速展示缓存数据的场景。
    • 推荐的腾讯云相关产品:腾讯云内容分发网络(CDN)。
    • 产品介绍链接地址:腾讯云内容分发网络

通过合理选择fetchPolicy,可以根据不同的业务需求来平衡数据获取的实时性和性能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 关于React组件props默认值的设置

    theme: channing-cyan 前言 在编写react组件的时候,为了兼容一些分支逻辑,我们经常会给组件的props设置一些默认值,但是有些默认值的写法会导致一些潜在的问题,比如无法推断类型,...本文将对几种设置默认值的写法进行分析,总结其优劣。...hook组件中使用,不推荐在class组件中使用 使用defaultProps React的组件有一个属性defaultProps,我们可以通过这个属性来给组件设置默认参数。...进行额外的类型校验 因为赋了默认值,我们希望能得到更准确的类型推断,所以我们可以将默认值的类型单独抽离,再合并到Props的类型中,以达到更好的类型推断. interface IProps {   name...值得注意的是,这里没有检测是否所有可选类型都有默认值,如果所有的可选类型都需要默认值,可以再加上这样一个工具类型,筛选出所有可选类型。

    3.7K20

    设计通过 POST 获取数据的 API 时需要注意的问题

    缓存 浏览器默认会对 GET、HEAD 这两个方法做缓存,如果通过 POST 而不是 GET 获取资源的话,浏览器及中间的代理服务器一般都不会实现缓存机制,这时就必须由前后端开发自行通过其他方式设置缓存...不会有冗余的内容 统一的对外入口 可以多查询合并,一起返回 这些特性有效的解决了 RESTful API 在复杂架构下的问题,使 GraphQL 充满弹性、非常好用,社区也已经有了庞大的的生态系统支持,例如 Apollo...值得注意的是 GraphQL 发出的全部都是 POST 请求,缓存机制必须仰赖开发者或是框架实现;例如在 Apollo Client 中,开发者必须按照应用场景,调整 fetchPolicy 的设置,避免快取造成的意外结果...Representational State Transfer): https://zh.wikipedia.org/wiki/表现层状态转换 [5] GraphQL: https://graphql.org/ [6] Apollo

    1.6K30

    为什么Vue(默认情况下)比React性能更好

    图片 下面是 React 代码: 图片 Vue 代码: 图片 测试1: 静态模块 在第一个测试中,我们将比较 React 和 Vue 是如何编译静态部分的。...先来看看React: 图片 如上图所示,在 JSX 中,编译器是非常简单的。所有的 JSX 元素都被替换成 React 的createElement 函数。...默认情况下,Vue中的任何孩子组件都是有缓存。只有当它的 props 发生变化时,它才会被重新渲染。 React 中无论 props是否改变,都会重新渲染。...因此,Vue 中的同等代码比 React 的性能更强。 React 是怎么来解决这个问题的? 在React中,开发者可以选择通过使用memo helper来启用 memoization。...Vue 默认提供更好的性能。 另一方面,如果我们想开发更复杂的功能,这也会导致缺乏一些灵活性。如果你没有真正掌握 Vue组件的生命周期,你可能会花很多时间来调试一些愚蠢的代码。

    56620

    React Native 0.71正式版发布,Ts成为默认开发语言

    2023年1月14日,React Native官方发布了0.71版本,此版本带来了很多重磅和突破性的更新,同时,感谢70多位贡献者带来的了1000多次提交。...下面是0.71版本带来的主要更新内容: 默认开发语言为TypeScript 使用Flexbox Gap使布局更加简单 开发者体验提升 有关新架构内容的升级 引入的部分web开发标准的属性,样式及事件 恢复...PropTypes 其他更新 TypeScript成为默认开发语言 从0.71版本开始,我们将React Native的默认开发语言从JavaScript变成TypeScript,在新建的项目的时候会有所体现...另外0.71版本因本身已支持ts,所以不需要再package.json文件中添加@types/react-native依赖。 有关TypeScript,我们可以将它理解为是增强版JavaScript。

    76250
    领券