如何在反应原生 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 动态链接中从收到的链接中提取参数?的主要内容,如果未能解决你的问题,请参考以下文章