类组件 获取路由
时间: 2023-07-16 20:17:18 浏览: 78
如果你使用的是 React Router v5 或更早的版本,你可以使用 `withRouter` 高阶组件将路由信息注入到组件中,然后在组件的 `props` 中访问。示例如下:
```jsx
import React from 'react';
import { withRouter } from 'react-router-dom';
class MyComponent extends React.Component {
render() {
const { location } = this.props;
return (
<div>
Current URL: {location.pathname}
</div>
);
}
}
export default withRouter(MyComponent);
```
在上面的示例中,`withRouter` 高阶组件将路由信息注入到了 `MyComponent` 组件中,并且可以在 `props` 中访问 `location` 对象,从而获取当前 URL。
如果你使用的是 React Router v6,则可以使用 `useNavigate` 和 `useLocation` hook 来获取路由信息,示例如下:
```jsx
import React from 'react';
import { useNavigate, useLocation } from 'react-router-dom';
function MyComponent() {
const navigate = useNavigate();
const location = useLocation();
return (
<div>
Current URL: {location.pathname}
</div>
);
}
export default MyComponent;
```
在上面的示例中,`useNavigate` hook 可以用来在组件中进行页面导航,而 `useLocation` hook 则可以用来获取当前 URL。
阅读全文