当前位置:首页 > 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

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如何获取路由

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

相关文章

react 如何继承

react 如何继承

在React中,组件继承并非推荐的设计模式(官方更推崇组合优于继承),但技术上仍可通过以下方式实现类似效果: 使用ES6类继承 通过extends关键字继承父组件类,子组件可访问父组件的生命…

vue实现动态路由按钮

vue实现动态路由按钮

Vue 实现动态路由按钮的方法 动态路由按钮的实现通常涉及权限控制,根据用户角色或权限动态显示或隐藏路由按钮。以下是几种常见方法: 基于路由元信息(meta)和v-if控制 在路由配置中添加权限标…

react 如何执行

react 如何执行

安装 Node.js 和 npm React 开发需要 Node.js 环境,因为它提供了 npm(或 yarn)包管理工具。从 Node.js 官网 下载并安装最新 LTS 版本。安装完成后,在终端…

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app np…

如何优化react

如何优化react

优化 React 性能的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行记忆化,避免不必要的重新渲染。类组件可以使用 PureCompo…

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…