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

时间:2017-05-18 03:38:05

标签: react-native

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

我收到的网址如下:

URL应用内的方案:// SomePage的someVar = someVal

我想从网址获取someVar值。

有什么想法吗?

6 个答案:

答案 0 :(得分:5)

这应该可以解决问题



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)




答案 1 :(得分:3)

您可以利用JS生态系统来实现这一目标。试试URI.js https://github.com/medialize/URI.js

答案 2 :(得分:3)

尝试网址https://www.npmjs.com/package/url

"此模块具有用于URL解析和解析的实用程序,旨在与node.js核心URL模块具有功能奇偶性。"

使用Chrome反馈原生调试器时,您的应用可以使用节点网址对象,但在不受限制时,iPhone上无法使用。

所以使用这个包

a...c...d

示例代码:

npm install url

答案 3 :(得分:3)

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

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

遗憾的是,URL 在 React Native 中的实现并不完整and has some known bugs。幸运的是,有一个名为 react-native-url-polyfill 的可靠 polyfill 库,它提供了一个行为良好且经过测试的 URL 实现 - 我强烈推荐它。

答案 4 :(得分:2)

使用查询字符串工作

$ ssh $server cat << EOF
...command goes here...
EOF

答案 5 :(得分:1)

更新:这不是上述问题的解决方案,因为除非在调试模式下,否则它不起作用。我没有删除这个答案,因为我认为它指出了一个值得细微差别的说明。

React Native支持JavaScript自己的URL Web API(使用版本0.46)。您可以使用它来轻松地解析或构建网址的任何部分。

API与WHATWG API of the URL module in Node.js相同。这个答案应该更加明显,但很容易因为可用的url解析包的数量而丢失。

编辑:由于某种原因,这仅适用于JS调试模式,否则不起作用。所以这个解决方案并没有真正有效,但是我把它留在这里是因为我很想知道如何让相同的URL模块与react-native一起工作。