跳至内容

useSubscription

参数

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

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

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

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

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

    • enabled: 用于启用或禁用订阅的布尔值 Ref

    • fetchPolicy: 自定义缓存行为。

      • cache-first (默认值): 从缓存中返回结果。仅当缓存结果不可用时才从网络中获取。
      • cache-and-network: 首先从缓存中返回结果(如果存在),然后在网络结果可用时返回网络结果。
      • cache-only: 如果可用,则从缓存中返回结果,否则失败。
      • network-only: 从网络中返回结果,如果网络调用不成功则失败,保存到缓存。
      • no-cache: 从网络中返回结果,如果网络调用不成功则失败,不保存到缓存。
    • throttle: 以毫秒为单位的节流间隔。

返回值

  • result: 结果数据对象。

  • loading: 布尔值 Ref,如果订阅正在进行中,则为 true

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

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

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

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