react取得路由参数
时间: 2023-07-08 12:49:04 浏览: 160
在 React 中,你可以通过 `react-router-dom` 库提供的 `useParams()` 钩子函数来获取路由参数。
例如,如果你定义了一个路由如下:
```jsx
<Route path="/users/:id" component={User} />
```
那么在 `User` 组件中,你可以这样使用 `useParams()` 来获取 `id` 参数:
```jsx
import { useParams } from 'react-router-dom';
function User() {
const { id } = useParams();
return (
<div>
<h2>User Details for ID {id}</h2>
{/* ... */}
</div>
);
}
```
如果你的路由参数是通过查询字符串传递的,可以使用 `useLocation()` 钩子函数获取当前路径的 `location` 对象,然后从 `location.search` 中解析出参数。
例如,如果你定义了一个路由如下:
```jsx
<Link to={`/users?id=${user.id}`}>View Profile</Link>
```
那么在 `User` 组件中,你可以这样使用 `useLocation()` 和 `queryString` 库来获取 `id` 参数:
```jsx
import { useLocation } from 'react-router-dom';
import queryString from 'query-string';
function User() {
const location = useLocation();
const params = queryString.parse(location.search);
const id = params.id;
return (
<div>
<h2>User Details for ID {id}</h2>
{/* ... */}
</div>
);
}
```
以上就是在 React 中获取路由参数的两种方式。希望能对你有所帮助!
阅读全文