我正在尝试构建一个使用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文档中已提到。
构建使用useSubscription
的onSubscriptionData
挂钩的正确方法是什么?
onSubscriptionData
函数被传递一个options
类型的单个OnSubscriptionDataOptions
参数。 options
对象具有两个属性:
client
-用于查询服务器的ApolloClient实例subscriptionData
-具有以下属性的对象:loading
,data
,error
示例用法:
const { loading, error, data } = useSubscription(
INCOMING_MESSAGES_SUBSCRIPTION_QUERY,
{
variables: {"localUserId": Meteor.userId()},
onSubscriptionData: ({ subscriptionData: { data } }) => {
// do something with `data` here
}
},
)