reactjs – 如何解析react-router v4中的查询字符串

前端之家收集整理的这篇文章主要介绍了reactjs – 如何解析react-router v4中的查询字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在react-router v3中,我可以使用props.location.query.foo访问它(如果当前位置是?foo = bar)

在react-router-dom@4.0.0中,props.location只有props.location.search是一个字符串,如?foo = bar& other = thing.

也许我需要手动解析和解构该字符串以找到foo或其他的值.

console.log(this.props)的屏幕截图:

(注意如何从?artist = band这里我想从艺术家那里得到价值带的价值)

看起来你已经假设正确了.解析查询字符串的能力是从V4中取出的,因为多年来一直有人要求支持不同的实现.有了这个,团队决定最好让用户决定实现的样子.我们建议导入查询字符串lib.到目前为止,one you mentioned对我来说非常有用.
const queryString = require('query-string');

const parsed = queryString.parse(props.location.search);

如果您想要原生的东西并且它可以满足您的需求,您也可以使用新的URLSearchParams

const search = props.location.search; // could be '?foo=bar'
const params = new URLSearchParams(search);
const foo = params.get('foo'); // bar

您可以阅读有关决定here的更多信息

猜你在找的React相关文章