React native React Navigation v5:如何与Branch.io一起使用

React native React Navigation v5:如何与Branch.io一起使用,react-native,react-navigation,react-navigation-v5,React Native,React Navigation,React Navigation V5,我们有一个应用程序利用Branch.io通用链接。遵循以下文件: 在react native应用程序上,您设置了一个订阅服务器,以便在javascript运行时接收深度和通用链接 从这里使用最新的react导航: React Navigation希望本机处理深度链接。React导航似乎没有公开手动启动链接的好方法 如何将这两项服务结合使用?事实证明,获取深度链接并将其分解为可路由的深度链接具有挑战性。我们的应用程序有嵌套路由器,我不想再做从路径到屏幕和参数的转换。最近有人这样做吗?谢谢。您可以

我们有一个应用程序利用Branch.io通用链接。遵循以下文件:

在react native应用程序上,您设置了一个订阅服务器,以便在javascript运行时接收深度和通用链接

从这里使用最新的
react导航

React Navigation希望本机处理深度链接。React导航似乎没有公开手动启动链接的好方法


如何将这两项服务结合使用?事实证明,获取深度链接并将其分解为可路由的深度链接具有挑战性。我们的应用程序有嵌套路由器,我不想再做从路径到屏幕和参数的转换。最近有人这样做吗?谢谢。

您可以使用
subscribe
选项通知React Navigation有关传入链接的信息:

const链接={
//处理传入链接的自定义susbcription
订阅(侦听器){
subscribe({error,params,uri})=>{
如果(错误){
console.error('来自分支的错误:'+错误);
返回;
}
if(参数['+非分支链接']){
const nonBranchUrl=params['+non_branch_link'];
//如果合适,路由非分支URL。
返回;
}
如果(!params['+单击了分支链接']){
//指示初始化成功和其他一些情况。
//没有打开任何链接。
返回;
}
//已打开一个分支链接
const url=参数$canonical\u url;
侦听器(url);
});
return()=>{
//清理事件侦听器
分支机构。取消订阅();
};
},
//前缀、屏幕配置等选项。
// ...
};

文档:

应在5.8.0中提供。你怎么通过的?没关系。我不得不用核武器重新构建节点_模块,并重置haste缓存。这在5.8.0中似乎是新的,我以前也在5.7.6中使用过。这是否可用于react navigation的navigationcontainer。Navigationcontainer提供一个链接道具,用于从链接中提取参数。如何从分支传递到该分支的链接支柱navigationcontainer@Yusuf将此链接对象传递给
NavigationContainer