Reactjs 如何:取消阿波罗(subscribeToMore)订阅?
因此,我有一个订阅,如下所示,我希望取消订阅:Reactjs 如何:取消阿波罗(subscribeToMore)订阅?,reactjs,apollo,react-apollo,apollo-client,Reactjs,Apollo,React Apollo,Apollo Client,因此,我有一个订阅,如下所示,我希望取消订阅: 下标托莫尔({ .... } }) } >删除此项,因此我通过调用abortController实现了清理: useffect(()=>{ const abortController=新的abortController(); props.subscribeToDeleteItems(); return()=>{ abortController.abort(); }; },[urlReferer])所以我通过调用abortController实
下标托莫尔({
....
}
})
}
>删除此项
,因此我通过调用abortController实现了清理:
useffect(()=>{
const abortController=新的abortController();
props.subscribeToDeleteItems();
return()=>{
abortController.abort();
};
},[urlReferer])代码>所以我通过调用abortController实现了清理:
useffect(()=>{
const abortController=新的abortController();
props.subscribeToDeleteItems();
return()=>{
abortController.abort();
};
},[urlReferer])代码>如果效果返回函数,React将在清理时运行它。SubscribeToMore返回unsubscribe函数
const subscribeToNewComments = () =>
subscribeToMore({
document: MESSAGES_SUBSCRIPTION,
variables: { channelId },
updateQuery: (prev, { subscriptionData }) => {
if (!subscriptionData) return prev;
return Object.assign({}, prev, {
channelMessages: [
subscriptionData.data.messageAdded,
...prev.channelMessages,
],
});
},
});
React.useEffect(() => {
let unsub = subscribeToNewComments();
return () => {
unsub();
};
}, [channelId]);
如果效果返回一个函数,React将在清理时运行它。SubscribeToMore返回unsubscribe函数
const subscribeToNewComments = () =>
subscribeToMore({
document: MESSAGES_SUBSCRIPTION,
variables: { channelId },
updateQuery: (prev, { subscriptionData }) => {
if (!subscriptionData) return prev;
return Object.assign({}, prev, {
channelMessages: [
subscriptionData.data.messageAdded,
...prev.channelMessages,
],
});
},
});
React.useEffect(() => {
let unsub = subscribeToNewComments();
return () => {
unsub();
};
}, [channelId]);