Реактивный Linking.getInitialURL не возвращает параметры запроса - PullRequest
0 голосов
/ 07 января 2020

Следуя документации , вы можете использовать метод Linking.getInitialURL, чтобы получить URL-адрес, с которого было открыто приложение (например, при открытии из веб-браузера):

// called from exp://expo.io/@solbiatialessandro/GettingIntoYc
export default function App(props) {
  Linking.getInitialURL().then((url) => {
    if (url) {
      console.log('Initial url is: ' + url);
      // 'Initial url is exp://expo.io/@solbiatialessandro/GettingIntoYc'
    }
  }).catch(err => console.error('An error occurred', err));
  return (<AppNavigator />);
}

Вышеуказанное работает правильно, однако Мне не удается получить параметры запроса , добавленные к URL-адресу, используя фрагмент ниже

// called with exp://expo.io/@solbiatialessandro/GettingIntoYc?test=1234
export default function App(props) {
  Linking.getInitialURL().then((url) => {
    if (url) {
      let { path, queryParams } = Linking.parse(url);
      // path: exp://expo.io/@solbiatialessandro/GettingIntoYc
      // queryParams: null
    }
  }).catch(err => console.error('An error occurred', err));
  return (<AppNavigator />);
}

Более того, если я пытаюсь console.log(url), я получаю ввод URL без ?test=1234, поэтому похоже, что он удаляется модулем Linking.

1 Ответ

0 голосов
/ 26 апреля 2020

Это странно, но это сработало для меня

let newURL = Linking.parse(url);
console.log(newURL.queryParams);
...