如何在 react-apollo 中根据上下文使用两个不同的 websocket url?

Posted

技术标签:

【中文标题】如何在 react-apollo 中根据上下文使用两个不同的 websocket url?【英文标题】:How do I use two different websocket url based on context in react-apollo? 【发布时间】:2020-03-24 17:06:39 【问题描述】:

我有一个问题。

场景是我们有两个 graphql 服务器。

我在查询/变异选项中将它们拆分为传递上下文。

它可以工作,但我也有两个不同的 websocket 设置。

因为我们可以使用 hasSubscription(operation.query) 拆分订阅。只能根据查询类型进行拆分。

但正如我提到的,我有两个 websockets,并且我发现没有像 useQuery/useMutation 那样在 useSubscription 中传递上下文的选项。

这是文档:https://www.apollographql.com/docs/react/data/subscriptions/#subscribetomore

订阅中没有传递上下文的选项。

那么实现这一目标的正确方法是什么?

注意:我这里用的是reactjs。

【问题讨论】:

【参考方案1】:

尝试使用带有client 选项的useSubscription 钩子。谢谢你。

https://www.apollographql.com/docs/react/data/subscriptions/#useSubscription

【讨论】:

以上是关于如何在 react-apollo 中根据上下文使用两个不同的 websocket url?的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-apollo,如何使用 TypeScript 在同一个组件中定义 2 个突变?

如何在 react-apollo graphql 查询中正确使用动态变量?

react-apollo中动态改变查询的解决方案

react-apollo 中的 data.refetch() 函数如何工作

如何在 react-apollo 中等待多个 useLazyQuery

如何使用带有 react-apollo 的模拟数据进行测试