[英]Opening DeepLinks which are not specified in Routes in react-native
如果我考虑一个例子
https://app.abc.com/login
这会在我的应用中打开登录页面。 但如果链接是这样的
https://app.abc.com/loginUser //This link is a route in web app
这不会在App中打开登录页面,因为Path未在路径中定义
现在的要求是,每当用户点击第二个链接时,即使这样,它也应该在App中而不是在Web中打开登录组件。 即。 同一组件的多个路由,或者我可以为这些路由打开通用组件吗? 我们能在React-Native中实现这一目标吗?
这很简单,只需要探索React-Navigation的文档
import { NavigationActions } from 'react-navigation'
const previousGetActionForPathAndParams = MyAPP.router.getActionForPathAndParams;
Object.assign(MyApp.router, {
getActionForPathAndParams(path) {
console.log("path in navigation", path)
if (
path === 'loginUser'
) {
// returns a profile navigate action for /my/custom/path
return NavigationActions.navigate({
routeName: 'Login',
});
}
// else {
// console.log("you have landed in an unknown space")
// }
return previousGetActionForPathAndParams(path);
},
});
在导航文件中插入此代码,您最好使用React-Navigation
在以前的版本中,我们可以通过在此处为特定组件提供多个路径来实现
感谢@DoğancanArabacı的有价值的评论,曾经是一个方便的解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.