Linking.removeEventListener('url', onReceiveURL);
removeEventListener
已被弃用。
我的IDE建议使用:
EventEmitter.removeListener('url', ...)
:该方法已被弃用。请改为使用EventEmitter.addListener
返回的订阅上调用remove()
。
// Custom function to subscribe to incoming links
subscribe(listener: (deeplink: string) => void) {
// First, you may want to do the default deep link handling
const onReceiveURL = ({url}: {url: string}) => listener(url);
// Listen to incoming links from deep linking
Linking.addEventListener('url', onReceiveURL);
const handleDynamicLink = (
dynamicLink: FirebaseDynamicLinksTypes.DynamicLink,
) => {
listener(dynamicLink.url);
};
const unsubscribeToDynamicLinks = dynamicLinks().onLink(handleDynamicLink);
return () => {
unsubscribeToDynamicLinks();
Linking.removeEventListener('url', onReceiveURL);
};
我尝试了很多方法,但似乎没有什么作用。
没有找到任何具体的信息。
有什么帮助来弄清楚吗?
编辑 -> 我会进一步调查,但目前它正常运行:
const unsubscribeToDynamicLinks : any = ...
then in return :
return () => {
unsubscribeToDynamicLinks().remove('url', onReceiveURL);};
const subscription = Linking.addEventListener('url', onReceiveURL);
然后稍后subscription.remove()
。 - Abeconst unsubscribeToDynamicLinks: any = dynamicLinks().onLink(handleDynamicLink); return () => { unsubscribeToDynamicLinks().remove('url', onReceiveURL);
- Harkayn