Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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
Javascript 如何在react js中从url获取参数?_Javascript_Html_Reactjs - Fatal编程技术网

Javascript 如何在react js中从url获取参数?

Javascript 如何在react js中从url获取参数?,javascript,html,reactjs,Javascript,Html,Reactjs,我是个新手,在从URL访问参数时遇到了麻烦。我已经寻找了很多解决方案,但我一直得到相同的错误“UncaughtTypeError:无法读取未定义的属性'params'。如何从reactjs组件中的url访问参数 在App.js中 render(){ 返回( ) } 在ResetPassword.js中 import React,{Component}来自“React”; 类重置密码扩展组件{ componentDidMount(){ const{token}=this.props.match.

我是个新手,在从URL访问参数时遇到了麻烦。我已经寻找了很多解决方案,但我一直得到相同的错误“UncaughtTypeError:无法读取未定义的属性'params'。如何从reactjs组件中的url访问参数

在App.js中

render(){
返回(
)
}
在ResetPassword.js中

import React,{Component}来自“React”;
类重置密码扩展组件{
componentDidMount(){
const{token}=this.props.match.params.token;
console.log(令牌);
}
render(){
返回(
);
}
}
导出默认重置密码;
错误
未捕获类型错误:无法读取未定义的属性“params”

假设您使用react router,您可以尝试以下操作:

import { useParams } from "react-router";
const { token } = useParams();

您应该将组件添加为道具以访问匹配

import { Route } from "react-router-dom";

<Route
 path="/reset-password/:token"
 component={ResetPassword}
/>

这意味着您没有正确地将参数发送到ResetPassword组件,因此当组件装载时没有参数。检查您是如何设置:令牌的,因为错误来自于此。谢谢您的建议!
import { useParams } from "react-router";
const { token } = useParams();
import { Route } from "react-router-dom";

<Route
 path="/reset-password/:token"
 component={ResetPassword}
/>
<Route
 path="/reset-password/:token"
 render={(props) => <ResetPassword {...props} myProp={"foo"} />}
/>
const { token } = this.props.match.params;
const token = this.props.match.params.token;