Передача префикса URI в функцию createSwitchNavigator для Deep Linking с реакцией навигации - PullRequest
0 голосов
/ 13 февраля 2019

У меня довольно прямолинейная настройка с реагирующей навигацией, которая использует навигатор-переключатель, который принимает параметр SignIn для установки начального маршрута, который выглядит следующим образом:

const uriPrefix =
  Platform.OS === 'android'
    ? 'myApp://myApp/'
    : 'myApp://'

const createRootNavigator = (signedIn = false) => (
  createSwitchNavigator({
    LoginNav,
    AllNav: { screen: AllNav, uriPrefix, path: '' }
  }, {
    initialRouteName: signedIn ? 'AllNav' : 'LoginNav',
  })
);

Затем я вызываю его в RootContainer.:

 const Nav = Navigation(isLoggedIn);
 return (
    <Nav />
  )

В iOS это нормально работает с uriPrefix, и я могу связываться с экранами, используя Linking.openURL() со ссылкой.

В Android это не работает.Я могу заставить его работать на Android без использования switchNavigator и просто экспортировать LoginNav и AllNav, но мне все еще нужен switchNavigator.

Я следовал приведенным здесь инструкциям: https://reactnavigation.org/docs/en/deep-linking.html,, но не смог пройтиuriPrefix так, как они определяют.Я обнаружил, что, по крайней мере, для iOS, я смог определить это внутри моего switchNavigator, но он просто не работает для меня на Android.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...