Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用React获取查询字符串?_Reactjs - Fatal编程技术网

Reactjs 如何使用React获取查询字符串?

Reactjs 如何使用React获取查询字符串?,reactjs,Reactjs,我正在尝试从url获取“query=123”。尝试 我的控制台显示了这一点 它不显示位置。在任何地方搜索。。。知道如何获取查询字符串吗?React不处理URL搜索参数。您需要在窗口中查找它们。以下是如何获得查询的值: let search = window.location.search; let params = new URLSearchParams(search); let foo = params.get('query'); 在组件中,您可以执行以下操作: const values =

我正在尝试从url获取“query=123”。尝试

我的控制台显示了这一点
它不显示位置。在任何地方搜索。。。知道如何获取查询字符串吗?

React不处理URL搜索参数。您需要在
窗口中查找它们。以下是如何获得
查询的值:

let search = window.location.search;
let params = new URLSearchParams(search);
let foo = params.get('query');

在组件中,您可以执行以下操作:

const values = queryString.parse(this.props.location.search)
console.log(values.filter) 
console.log(values.origin) 

还有更多。我为查询字符串创建了一个单独的函数

function useQuery() {
  return new URLSearchParams(window.location.search);
}
然后我可以提供我想要得到的查询字符串。在您的案例中,它是
查询

  let query = useQuery().get('query');

原因是当我尝试记录this.props.location时,它未定义。请检查显示的我的图片。props
this.props.location.search
不包含查询。您需要在
窗口中查找。location.search
。新的URLSearchParams(search.get('foo')由于某些原因不起作用。我将获取null。这里是一个const参数的屏幕截图,您需要将其更改为
get('query')
。我以
foo
为例。我已经更正了我的答案。OP似乎没有使用React路由器。
  let query = useQuery().get('query');