结合graphql查询和订阅

时间:2019-08-09 09:03:37

标签: javascript graphql

我正在使用graphql订阅来获取实时消息流。我的问题是,鉴于过去的消息,如何将其与查询结合起来。

我的示例是我有一个MessagesQuery组件,该组件可以提取所有以前的消息,但是要显示更新的消息,我正在使用MessageSubscription组件。

有人可以解释对此的最佳方法吗?我找到了这个GitHub issue,但是很遗憾,没有任何反馈。给定的。

1 个答案:

答案 0 :(得分:1)

该问题描述了典型的方法-使用Query组件或useQuery钩子并调用subscribeToMore进行订阅。该用户的问题似乎是订阅在取消安装后取消订阅,但这是适当的和预期的行为。

用法示例:

const { subscribeToMore, ...result } = useQuery(MESSAGES_QUERY, otherOptions)
subscribeToMore({
  document: MESSAGES_SUBSCRIPTION,
  updateQuery: (prev, { subscriptionData }) => {
    // merge the subscription data into the query result
  },
})

有关其他详细信息,请参见the docs