我正在尝试从url中获取密钥,但没有得到任何内容,
这是例如我想要的浏览器网址
auth/reset-password/finish?key=123
我正在这样设置路线
path: '/auth/reset-password/finish/:key?'
这是主要组成部分
const key = queryString.parse('key', location.search);
如果我做过控制台,它将给我空值
我确实在控制台上记录了它给我的位置
pathname: "/auth/reset-password/finish"
search: "?key=Hci5deBRQJSofcD0aVru"
hash: ""
state: undefined
__proto__: Object
答案 0 :(得分:0)
如果您使用的是react-router,则可以从位置对象获取查询:
this.props.location.query.key
要获取命名的参数,可以使用:
this.props.match.params.key
编辑:此解决方案适用于react-router 3及以下版本。
答案 1 :(得分:0)
如果您的路径是路径: / auth / reset-password / finish /:key?
因此您的路线应为 / auth / reset-password / finish / 123
您可以通过 this.props.match.params.key
访问密钥您将通过反应路由器
获得的匹配项答案 2 :(得分:0)
祝您好运,请检查希望它能起作用
现在这是函数返回一个Object,拥有所有的URL参数
callDecodeUrl=(url)=>{
var decodeURL = decodeURIComponent((url + '').replace(/\+/g, '%20'));
var query = queryString.parseUrl(decodeURL);
return query.query
}
var url = this.callDecodeUrl('https://stackoverflow.com/questions/61078853/is-there-way-to-get-querystring-from-url')
console.log(url)
答案 3 :(得分:0)
这是我对问题的回答
const key = queryString.parse(location.search);
所以如果我做了控制台日志。
console.log('keyssss', key);
它给了我关键的价值谢谢大家的光临