Встроенная глубокая привязка, если приложение закрыто, не работает (React-Navigation v5)

#reactjs #react-native #react-navigation #deep-linking

#reactjs #react-native #react-навигация #глубокая привязка

Вопрос:

Я реализовал глубокие ссылки для своего приложения с помощью React Navigation V5.

У меня проблема с глубокой привязкой. Если приложение закрыто (убито) и оно открывается через глубокую ссылку, оно приведет меня к главному экрану, а не к экрану, на который оно должно меня вывести.

Вот моя конфигурация привязки, из того, что я прочитал в документах (здесь ), я передаю URL-адрес из getInitialUrl функции в subscribe, и здесь const onReceiveURL = ({ url }) => listener(url); он должен проанализировать URL-адрес до допустимого состояния навигации и вывести меня на экран, который он должен. Однако я могу ошибаться в том, как работает подписка.

Любая помощь приветствуется, заранее спасибо!

 const linking = {
    prefixes: ['appName://', 'app.appName.com://', APP_WEB_DOMAIN],
    async getInitialURL() {
      // Check if app was opened from a deep link
      const url = await Linking.getInitialURL();
      if (url != null) {
        return url;
      }
    },
    subscribe(listener) {
      const onReceiveURL = ({ url }) => listener(url);

      Linking.addEventListener('url', onReceiveURL);

      return () => {
        // Clean up the event listener
        Linking.removeEventListener('url', onReceiveURL);
      };
    },
    config: {
      screens: {
        SignInScreen: 'login',
        UnauthenticatedStack: '',
        TrackListScreen: 'playlist/:id/' //:id gets parsed as a string, you have to specify it if you want a number.
      }
    }
  };
  

Комментарии:

1. Можете ли вы опубликовать NavigationContainer , как выглядит ваш

Ответ №1:

У меня была аналогичная проблема (глубокая ссылка из push-уведомления) из-за ошибки в react-native-splash-screen

посмотрите здесь https://github.com/spencercarli/react-native-splash-screen-demo/pull/11

Комментарии:

1. Будет ли это доступно для этого пакета ?