Реагировать на навигацию Deeplink Внешняя навигация - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть простое приложение, которое реализует реагирующую навигацию

const prefix = Platform.OS == 'android' ? 'http://test.in/' : 'http://';
const StackNav = createStackNavigator({
  Home: { screen: MainApp },
  Detail: {
    screen: ContentDetail,
    path: 'content/:contentId',
  },
  NewsDetail: NewsDetail
});

const App = () => <StackNav uriPrefix={prefix} />;

Но когда я пытаюсь перейти к экрану сведений с помощью внешней ссылки, он не перемещается.

Пробовал

adb shell am start -W -a android.intent.action.VIEW -d "http://www.test.in/content/114" com.test

для навигации из командной строки

1 Ответ

0 голосов
/ 16 ноября 2018

Вы должны добавить слушателя, который обрабатывает событие url внешней навигации.Посмотрите на документ: https://facebook.github.io/react-native/docs/linking.html

componentDidMount() {
    Linking.addEventListener('url', this.handleOpenURL)
  }

  componentWillUnmount() {
    Linking.removeEventListener('url', this.handleOpenURL)
  }

  handleOpenURL = (event) => {
    somethingWithDeepLink(event.url)
  }
...