Я настроил свой маршрутизатор как:
const SwitchRouter = createSwitchNavigator(
{
Splash: {
screen: Launch,
path: 'hello/:code',
},
App: HomeStack,
},
{
initialRouteName: 'Splash',
}
);
Я использую ссылку в Safari, которая запускает мое приложение для iOS, а затем я должен получить параметр по этой ссылке в моем коде.
Я пробовал разные ссылки, но не смог получить от них никаких параметров. Вот что я попробовал:
myApp://hello/123
myApp://hello/?code=123
myApp://hello?code=123
Мой код, который должен получить этот code
parementer, находится на моем экране запуска, как показано ниже:
const code = navigation.getParam('code', 'error');
Значение кода всегда является ошибкой, мой параметр здесь никогда не найден.
Я что-то здесь упускаю? Я прошел через весь GitHub и документацию о реагирующей навигации, но я не смог найти решение, работающее на меня.
Я читал, что у некоторых людей возникают проблемы с получением параметров глубокого связывания в componentDidMount. Видимо они не доступны.
Поэтому мой код отвечает за получение параметра «code». Я пытался использовать его внутри componentDidMount / DidUpdate и даже в рендере, но во всех случаях я не могу получить свой параметр.