如何在React Native Firebase动态链接中从接收的链接中提取参数?

时间:2019-03-27 10:57:28

标签: firebase react-native dynamic-linking firebase-dynamic-links react-native-firebase

我尝试使用this库(react-native-firebase)从React导航深层链接迁移到Firebase动态链接。 我已经设置了所有内容,并且正在应用程序上生成并接收链接。但是,有什么方法可以使用该库正确提取链接中发送的参数吗?当前,这是我用于处理收到的链接的代码:

  handleDynamicLink = () => {
    firebase
      .links()
      .getInitialLink()
      .then((url) => {
        console.tron.log('link is ', url);
      })
      .catch((error) => {
        console.tron.log(error);
      });
  };

收到的网址是 https://links.dev.customdomain.in/?link=products%2F1122 我想从网址中提取产品ID 1122。对我而言,目前的唯一方法是解析字符串并手动提取相关参数。与我以前用来指定路径的React导航深层链接不同,例如

   Product: {
      screen: Product,
      path: 'customdomain/products/:slug',
    },

在相应屏幕中用作导航参数的段或id数据在哪里。我想念什么吗?如何通过这种方式传递多重参数?

1 个答案:

答案 0 :(得分:0)

此链接here中的第2点表示:

  

响应仅包含URL字符串。

这意味着firebase.links()。getInitialLink()方法至少在编写此版本(v5.5.5)时不会返回查询参数。要添加参数,您应该将URL和查询参数一起用作URL的一部分。我的意思是这个

  

使用https://links.dev.customdomain.in/link/products/1122

并使用Regex提取您感兴趣的产品ID。这是对我有用的,希望对您有所帮助。