reactjs - 如果应用程序关闭,则 React-Native 深层链接不起作用(React-Navigation v5)

标签 reactjs react-native react-navigation deep-linking

我已经使用 React Navigation V5 为我的应用程序实现了深层链接。
我有一个关于深度链接的问题。如果应用程序已关闭(终止)并通过深层链接打开,它将带我到主屏幕而不是它必须带我到的屏幕。
这是我的链接配置,根据我在文档( here )中阅读的内容,我正在传递来自 getInitialUrl 的 URL订阅功能和这里const onReceiveURL = ({ url }) => listener(url);它应该将 URL 解析为有效的导航状态并将我带到它必须的屏幕。不过,我可能会误解 subscribe 的工作方式。
任何帮助表示赞赏,提前致谢!

const linking = {
    prefixes: ['appName://', 'app.appName.com://', APP_WEB_DOMAIN],
    async getInitialURL() {
      // Check if app was opened from a deep link
      const url = await Linking.getInitialURL();
      if (url != null) {
        return url;
      }
    },
    subscribe(listener) {
      const onReceiveURL = ({ url }) => listener(url);

      Linking.addEventListener('url', onReceiveURL);

      return () => {
        // Clean up the event listener
        Linking.removeEventListener('url', onReceiveURL);
      };
    },
    config: {
      screens: {
        SignInScreen: 'login',
        UnauthenticatedStack: '',
        TrackListScreen: 'playlist/:id/' //:id gets parsed as a string, you have to specify it if you want a number.
      }
    }
  };

最佳答案

由于 react-native-splash-screen 中的错误,我遇到了类似的问题(来自推送通知的深层链接)
看看这里 https://github.com/spencercarli/react-native-splash-screen-demo/pull/11

关于reactjs - 如果应用程序关闭,则 React-Native 深层链接不起作用(React-Navigation v5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64633800/

相关文章:

javascript - 使用带有 Stack Navigator 的 React Native Navigation 将数据从屏幕传递到其他屏幕

reactjs - 如何使用 material-ui-pickers 更改输入名称

reactjs - 如何在 R3F 中为导入的 FBX 对象创建发光效果?

reactjs - enzyme /Mocha : How to test a react component function by firing an onChange event from a child component

react-native-pdf 文件不是 PDF 格式或已损坏

react-native - React-native 中的简单动画 : moving an image from left to right

reactjs - 在 react 中显示或隐藏特定元素

android - React Native 启动不可能 : Duplicate module name: react-native-vector-icons

android - 带有后退按钮的 react 导航重新渲染 View

react-native - 使用 navigation.goBack() 时如何将数据发送回前一屏幕?