URLSearchParams不是ReactJS中的构造函数

时间:2019-08-25 06:50:45

标签: javascript reactjs react-router

使用URLSearchParams时遇到此错误

  

TypeError:url__WEBPACK_IMPORTED_MODULE_2 __。URLSearchParams不是构造函数

这是我的电话方式:

componentDidMount() {
    const query = new URLSearchParams(this.props.location.search); // <- ERORR
    const ingredients = {};
    for (let param in query.entries()) {
        // ['salad', '1']
        ingredients[param[0]] = +param[1];
    }
    this.setState({ingredients : ingredients});
}

我的ReactJS项目详细信息:

"dependencies": {
"axios": "^0.19.0",
"prop-types": "^15.7.2",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-router-dom": "^5.0.1",
"react-scripts": "3.0.1"
},

2 个答案:

答案 0 :(得分:3)

当react从'url'导入UrlSearchParams时会发生这种情况 因此,您必须删除它并尝试。肯定会工作。

答案 1 :(得分:0)

我认为您应该从location加载react-router-dom。这将使您可以从路由器访问位置和url参数。如果您的应用需要对组件本身进行身份验证,请也将用户传递给用户。

我不确定search会如何告诉您真相,但是应该可以通过| react-router-dom`方便地获得位置信息。