React Native - 获取 url 搜索参数

spa*_*tak 0 javascript react-native

我正在尝试在 React Native 应用程序中获取 URL 参数。

我尝试做的事情:

  1. 失败,因为 searchParams 是一个空列表
const parsedUrl = new URL(url)

// here the searchParams are empty list
console.log(parsedUrl.searchParams)
Run Code Online (Sandbox Code Playgroud)
  1. 失败,因为显示以下错误:

[错误:未实施]

const parsedUrl = new URLSearchParams(url)
console.log(parsedUrl.get(param))
Run Code Online (Sandbox Code Playgroud)

Adi*_*tya 5

你可以试试这个:

(仅适用于 React Js)

function getURLParams(parameterName, url) {
  let name = parameterName.replace(/[\[\]]/g, '\\$&');
  let regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
  if (!results) return null;
  if (!results[2]) return null;
  return decodeURIComponent(results[2].replace(/\+/g, ' '));
}

// For Current Window URL
console.log(getURLParams("param1", window.location.href));

// For Custom URL
console.log(getURLParams("param1", "https://example.com/index.html?param1=Hello"));
Run Code Online (Sandbox Code Playgroud)

或这个

(对于反应本机)

var url = "http://example.com?param1=test&param2=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)