React Native - 解析URL以获取查询变量

Mat*_*t K 5 react-native

寻找一种解析URL以获取从Linking收到的React Native中的查询变量的方法.

我收到的URL类似于:

网址应用的方案:// SomePage的someVar = someVal

我想从URL获取someVar值.

有什么想法吗?

Ray*_*Ray 7

这应该可以解决问题

var url = "http://example.com?myVar=test&otherVariable=someData&number=123"

var regex = /[?&]([^=#]+)=([^&#]*)/g,
  params = {},
  match;
while (match = regex.exec(url)) {
  params[match[1]] = match[2];
}
console.log(params)
Run Code Online (Sandbox Code Playgroud)


Raj*_*sit 6

使用查询字符串其工作

yarn add  query-string

import queryString from 'query-string';

const parsed = queryString.parseUrl("https://pokeapi.co/api/v2/pokemon?offset=10&limit=10");
console.log(parsed.query.offset) will display 10
Run Code Online (Sandbox Code Playgroud)


luk*_*arm 5

JavaScript 中有一个URL 类,旨在让您健壮地构建和解析 URL,使查询参数易于访问:

const url = new URL('url-app-scheme://somePage?someVar=someVal');
url.searchParams.get('someVar')
Run Code Online (Sandbox Code Playgroud)

遗憾的是,URLReact Native 中的实现并不完整,并且存在一些已知的错误。幸运的是,有一个名为react-native-url-polyfill的可靠 polyfill 库,它提供了一个URL表现良好且经过测试的实现 - 我强烈推荐它。


小智 4

您可以从 JS 生态系统中利用多种方法来实现此目的。尝试 URI.js https://github.com/medialize/URI.js