跳至内容

useQuery

参数

  • document: 包含查询的 GraphQL 文档。也可以是 Ref 或返回文档的函数(这将是响应式的)。

  • variables: (默认值:null)变量对象。也可以是 Ref、响应式对象或返回变量对象的函数。

  • options: (默认值:null)选项对象。也可以是 Ref、响应式对象或返回选项对象的函数。

    • clientId: 如果您提供了多个客户端,则应为此查询使用的客户端的 ID。

    • context: 传递给链接执行链的上下文。

    • debounce: 以毫秒为单位的去抖间隔。

    • enabled: 用于启用或禁用查询的布尔 Ref

    • errorPolicy: 自定义错误行为。请参阅 错误处理

      • none
      • all
      • ignore
    • fetchPolicy: 自定义缓存行为。

      • cache-first(默认值):从缓存中返回结果。仅当缓存结果不可用时才从网络中获取。
      • cache-and-network: 首先从缓存中返回结果(如果存在),然后在网络结果可用时返回网络结果。
      • cache-only: 如果可用,从缓存中返回结果,否则失败。
      • network-only: 从网络中返回结果,如果网络调用不成功则失败,保存到缓存。
      • no-cache: 从网络中返回结果,如果网络调用不成功则失败,不保存到缓存。
    • metadata: 使用此查询存储在存储中的任意元数据。专为调试、开发者工具等设计。

    • notifyOnNetworkStatusChange: 网络状态更新是否应触发此查询观察者的下一个。

    • prefetch: (默认值:true)在服务器端渲染期间启用服务器上的预取。

    • pollInterval: 此查询应从服务器重新获取的时间间隔(以毫秒为单位)。

    • returnPartialData: 允许从缓存中返回不完整的数据,当较大的查询无法完全由缓存满足时,而不是返回空数据。

    • throttle: 以毫秒为单位的节流间隔。

    • keepPreviousResult: (默认值:false)当查询再次获取时(例如当变量更改时)是否保留先前结果。这对于防止出现空白内容闪烁很有用。

返回

  • result: 结果数据对象。

  • loading: 布尔 Ref,如果查询正在进行中,则为 true

  • error: 错误 Ref,保存任何发生的错误。

  • variables: 保存变量对象的 Ref。

  • refetch(variables?): 再次执行查询,可以选择使用新变量。

  • fetchMore(options): 执行查询的变体以检索要与现有数据合并的额外数据。对 分页 有用。

  • subscribeToMore(options): 向查询添加订阅,这对于实时添加从服务器接收的新数据很有用。请参阅 订阅

  • onResult(handler): 当有新结果可用时调用的事件钩子。处理程序将使用以下内容调用:result(查询结果)和 context,它是一个包含 client(ApolloClient 实例)的对象。

  • onError(handler): 当发生错误时调用的事件钩子。处理程序将使用以下内容调用:errorcontext,它是一个包含 client(ApolloClient 实例)的对象。