Reactjs 如何使用React获取查询字符串?
我正在尝试从url获取“query=123”。尝试 我的控制台显示了这一点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 =
它不显示位置。在任何地方搜索。。。知道如何获取查询字符串吗?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时,它未定义。请检查显示的我的图片。propsthis.props.location.search
不包含查询。您需要在窗口中查找。location.search
。新的URLSearchParams(search.get('foo')由于某些原因不起作用。我将获取null。这里是一个const参数的屏幕截图,您需要将其更改为get('query')
。我以foo
为例。我已经更正了我的答案。OP似乎没有使用React路由器。
let query = useQuery().get('query');