我正在使用graphql订阅来获取实时消息流。我的问题是,鉴于过去的消息,如何将其与查询结合起来。
我的示例是我有一个MessagesQuery
组件,该组件可以提取所有以前的消息,但是要显示更新的消息,我正在使用MessageSubscription
组件。
有人可以解释对此的最佳方法吗?我找到了这个GitHub issue,但是很遗憾,没有任何反馈。给定的。
答案 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。