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 是否从查询字符串中获取参数值?_Reactjs_Shopify_React Router Dom - Fatal编程技术网

Reactjs 是否从查询字符串中获取参数值?

Reactjs 是否从查询字符串中获取参数值?,reactjs,shopify,react-router-dom,Reactjs,Shopify,React Router Dom,我试图从URL获取查询字符串,但得到一个错误。我正在使用一个使用Shopify CLI创建的reactjs项目。我试过这些例子 TypeError:无法读取未定义的属性“params” import React,{Component}来自“React”; 类用户扩展组件{ render(){ const{id}=this.props.match.params; 返回( 用户id为{id} ); } } 导出默认用户; 您需要安装查询字符串包npm安装查询字符串 import queryS

我试图从URL获取查询字符串,但得到一个错误。我正在使用一个使用Shopify CLI创建的reactjs项目。我试过这些例子

TypeError:无法读取未定义的属性“params”

import React,{Component}来自“React”;
类用户扩展组件{
render(){
const{id}=this.props.match.params;
返回(
用户id为{id}
);
}  
}
导出默认用户;

您需要安装查询字符串包
npm安装查询字符串

 import queryString from 'query-string';

    console.log(location.search);
    // Output: '?id=1&name=abc'

    const parsed = queryString.parse(location.search);
    console.log(parsed);
    // Output: {id: "1", name: "abc"}

    console.log(location.hash);
    // Output: '#id=1&name=abc'
对于不同的方法,您可以查看:

此外,正如错误所示,
props
未定义。如果您已经在解析并从父组件获取props中的值,请尝试记录props值。否则可以直接使用查询字符串

const value=queryString.parse(this.props.location.search);
const token=value.token;
console.log('token',token)//123
   
试试这个:

function getUrlVars() {

   let vars = {};
   let parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
   });

   return vars;
}
使用它:

let number = getUrlVars()["x"];
let mytext = getUrlVars()["text"];
资料来源:

let number = getUrlVars()["x"];
let mytext = getUrlVars()["text"];