如何从URL获取queryString?

时间:2020-04-07 11:21:34

标签: reactjs react-hooks query-string

我正在尝试从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 

4 个答案:

答案 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); 它给了我关键的价值谢谢大家的光临