如何在React Navigation中深度链接到嵌套导航器?

kha*_*eeb 7 javascript reactjs react-native react-navigation

我的导航结构如下:

const App = () => {
  const prefix = 'test://';
  return <AppNavigator uriPrefix={prefix} />;
};

const AppNavigator = createSwitchNavigator({
  splash: SplashScreen,
  auth: AuthStack,
  main: HomeStack,
});

const AuthStack = createStackNavigator({
  landing: LandingScreen,
  login: {
    screen: LoginScreen,
    path: 'page/login',
  },
  register: {
    screen: RegisterScreen,
    path: 'page/signup',
  },
});

const HomeStack = createStackNavigator({
  home: HomeScreen,
  details: {
    screen: DetailsScreen,
    path: 'details/:assetId',
  },
  upsell: {
    screen: UpsellScreen,
    path: 'page/upsell',
  },
});
Run Code Online (Sandbox Code Playgroud)

我的深层链接URI是:

test://page/login
test://page/signup
test://details/12345
test://page/upsell
Run Code Online (Sandbox Code Playgroud)

链接到任何这些URI时,我总是被带到,SplashScreen这是我应用程序的第一个屏幕。如何正确链接到嵌套导航器并链接到正确的屏幕?

Gre*_*kiy 0

根据文档,您似乎还需要设置 Android 和 iOS 本机部分才能使其正常工作。

此处描述: https: //reactnavigation.org/docs/en/deep-linking.html#set-up-with-react-native-init-projects