#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. Будет ли это доступно для этого пакета ?