当前位置:首页 > React

react如何获取路由

2026-01-15 08:54:46React

获取当前路由路径

在React中获取当前路由路径可以通过react-router-dom提供的useLocation钩子。useLocation返回一个包含当前路由信息的对象,其中pathname属性即为当前路径。

import { useLocation } from 'react-router-dom';

function ExampleComponent() {
  const location = useLocation();
  console.log(location.pathname); // 输出当前路径如 "/about"
}

获取路由参数

对于动态路由(如/user/:id),可以通过useParams钩子获取参数。该钩子返回一个包含所有动态参数键值对的对象。

import { useParams } from 'react-router-dom';

function UserProfile() {
  const params = useParams();
  console.log(params.id); // 若路径为 "/user/123",输出 "123"
}

获取查询字符串

若需解析URL中的查询字符串(如?name=John&age=20),可使用useSearchParams钩子。它返回一个包含当前查询参数的对象和更新函数。

import { useSearchParams } from 'react-router-dom';

function SearchPage() {
  const [searchParams] = useSearchParams();
  console.log(searchParams.get('name')); // 输出 "John"
}

编程式导航

通过useNavigate钩子可以实现编程式路由跳转,并传递状态参数。navigate函数支持路径字符串或配置对象。

import { useNavigate } from 'react-router-dom';

function NavigateButton() {
  const navigate = useNavigate();

  const handleClick = () => {
    navigate('/dashboard', { state: { from: 'home' } });
  };
}

类组件中的路由信息

在类组件中获取路由信息需使用高阶组件withRouter(v5及以下版本)或通过props传递路由属性。

import { withRouter } from 'react-router-dom';

class ClassComponent extends React.Component {
  componentDidMount() {
    console.log(this.props.location.pathname);
  }
}

export default withRouter(ClassComponent);

监听路由变化

通过useEffect结合useLocation可以监听路由变化并执行副作用操作。依赖项需包含location.pathname

react如何获取路由

import { useEffect } from 'react';
import { useLocation } from 'react-router-dom';

function RouteListener() {
  const location = useLocation();

  useEffect(() => {
    console.log('Route changed to:', location.pathname);
  }, [location.pathname]);
}

标签: 路由react
分享给朋友:

相关文章

动态路由的实现vue

动态路由的实现vue

动态路由的实现(Vue) 在Vue中实现动态路由通常涉及以下方法: 基于路由参数(params) 在路由配置中使用动态片段(以冒号开头),例如: const routes = [ { path…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一致。…

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…

react如何检测

react如何检测

检测 React 应用的方法 使用 PropTypes 进行类型检查 PropTypes 是 React 内置的类型检查工具,用于验证组件的 props 是否符合预期。在开发环境中,PropTypes…

react如何折叠

react如何折叠

在 React 中实现折叠功能 使用 useState 管理折叠状态 通过 useState 定义一个状态变量来控制折叠面板的显示与隐藏。例如: const [isCollapsed, setIsC…

react如何配置

react如何配置

配置React项目的基本步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过命令行检查版本: node -v npm -v 创建React项目 使用官方工具Creat…