ApolloGraphQL:使用onSubscriptionData的useSubscription挂钩语法?

问题描述 投票:0回答:1

我正在尝试构建一个使用useSubscription的Apollo onSubscriptionData挂钩。

我看过in the Apollo docs,,但我还没有一个例子。

例如类似于:

const { loading, error, data } = useSubscription(
    INCOMING_MESSAGES_SUBSCRIPTION_QUERY,
    {
        variables: {"localUserId": Meteor.userId()},
        onSubscriptionData: myFunctionThatRunsWhenSubscriptionDataArrives
    }
);

这可能还不正确,因为它不包含OnSubscriptionDataOptions<TData>,这在Apollo文档中已提到。

构建使用useSubscriptiononSubscriptionData挂钩的正确方法是什么?

apollo react-apollo apollo-client
1个回答
1
投票

onSubscriptionData函数被传递一个options类型的单个OnSubscriptionDataOptions参数。 options对象具有两个属性:

  • client-用于查询服务器的ApolloClient实例
  • subscriptionData-具有以下属性的对象:loadingdataerror

示例用法:

const { loading, error, data } = useSubscription(
  INCOMING_MESSAGES_SUBSCRIPTION_QUERY,
  {
    variables: {"localUserId": Meteor.userId()},
    onSubscriptionData: ({ subscriptionData: { data } }) => {
      // do something with `data` here
    }
  },  
)
© www.soinside.com 2019 - 2024. All rights reserved.