如何查询 URL 中的参数 - React Native

How to query out params in URL - React Native

我正在尝试从 React Native 中传入的 url 中提取代码。我能够收到 url 并将其打印在我的控制台中,但无法从 url.

获取参数

我的代码:

useEffect(() => {
    Linking.addEventListener('url', callback);
  })

callback = async (url) => {
    if (url !== null) {
      const new_url = JSON.stringify(url)
      console.log(new_url)

      const urlCallback = new URL(new_url);
      const code = urlCallback.searchParams.get('code');

      console.log(code)
    }
  };

我不断收到此错误: 类型错误:无效 URL:{"url":"myapp://?code=ABCDEFG"}

我正在尝试查询该代码,以便我可以将其作为参数发送到 post 请求中。

感谢任何帮助,谢谢!

根据错误消息,您似乎在字符串化 url 对象,而不是字符串。尝试从其 'url' 属性中解析。

callback = async (url) => {
  if (url !== null) {
    const new_url = url.url;
    console.log(new_url)

    const urlCallback = new URL(new_url);
    const code = urlCallback.searchParams.get('code');

    console.log(code)
  }
};

试试这个query-string

const parsed = queryString.parseUrl("myapp://?code=ABCDEFG");
console.log(parsed.query.code)