小编Har*_*ayn的帖子

removeEventListener 已弃用,我无法正确重构它

Linking.removeEventListener('url', onReceiveURL);

removeEventListener 已弃用。

这是我的 IDE 的建议:

EventEmitter.removeListener('url', ...):方法已被弃用。请改为使用remove()所返回的订阅 EventEmitter.addListener

  // 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);
    }; …
Run Code Online (Sandbox Code Playgroud)

refactoring dynamic-linking deprecated deep-linking react-native

19
推荐指数
2
解决办法
1万
查看次数