react-router-dom路由传参数
React Router是一个用于构建单页应用程序的库。它基于React组件化的特性,可以帮助我们管理应用程序的路由和导航。
在React Router中,可以通过两种方式传递参数,一种是通过URL参数,另一种是通过路由组件的props属性。
一、URL参数
URL参数是通过在URL中添加参数来传递数据的。在React Router中,可以通过在路由配置中使用冒号(:)来定义URL参数。
例如,我们可以定义如下的路由配置:
```
import { BrowserRouter as Router, Route } from 'react-router-dom';
const App = () => {
return (
<Router>
<Route path="/users/:id" component={UserDetail} />
</Router>
reactrouter6路由拦截);
}
```
在上面的例子中,`/users/:id`定义了一个动态路由,其中`:id`表示一个参数,可以在URL中传递不同的值。
接下来,在UserDetail组件中可以通过props.match.params.id来获取URL中的参数值。
```
const UserDetail = (props) => {
const { id } = props.match.params;
//使用参数值进行相应的操作
return (
<div>
User Detail: {id}
</div>
);
}
```
在上面的例子中,我们从props.match.params中获取了URL参数id的值,并在页面中显示出来。
二、路由组件的props属性
除了URL参数之外,还可以通过路由组件的props属性传递参数。
例如,我们可以在路由配置中使用render属性来渲染一个组件,并将参数通过props传递给组件。
```
import { BrowserRouter as Router, Route } from 'react-router-dom';