[英]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.