如何在反应原生 Firebase 动态链接中从收到的链接中提取参数?

Posted

技术标签:

【中文标题】如何在反应原生 Firebase 动态链接中从收到的链接中提取参数?【英文标题】:How to extract params from received link in react native firebase dynamiclink? 【发布时间】:2019-03-27 10:57:28 【问题描述】:

我尝试使用 this 库 (react-native-firebase) 从反应导航深度链接迁移到 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 我想从 url 中提取产品 id 1122。我现在唯一的方法是解析字符串并手动提取相关参数。与我用来指定路径的反应导航深度链接不同,例如

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

用于在相应屏幕中作为导航参数传递的 slug 或 id 数据。我错过了什么吗?我怎样才能以这种方式传递多个参数?

【问题讨论】:

【参考方案1】:

此链接中的第 2 点 here 说:

响应仅包含 URL 字符串。

这意味着 firebase.links().getInitialLink() 方法不返回查询参数,至少在撰写本文时 (v5.5.5) 是这样。要添加参数,您应该使用带有查询参数的 URL 作为 URL 的一部分。我的意思是这个

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

并使用正则表达式提取您感兴趣的产品 ID。这对我有用,我希望它有所帮助。

【讨论】:

以上是关于如何在反应原生 Firebase 动态链接中从收到的链接中提取参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在反应节点 js 项目中从客户端创建动态元标记?

如何在反应原生矢量图标中从多个文件导入图标?

我如何在反应原生 webview 中从网页访问当前位置

在前台显示通知反应原生 firebase v6

如何在反应原生导航 Wix V2 中从侧边菜单导航到页面

反应原生 Firebase 消息点击通知