当前位置:首页 > React

react如何获取路由

2026-02-26 03:54:04React

获取当前路由路径

使用react-router-domuseLocation钩子可以获取当前路由信息。引入后调用该钩子,返回的对象中包含pathname属性即为当前路径。

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

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

获取路由参数

对于动态路由如/user/:id,使用useParams钩子提取参数。该钩子返回一个对象,键名对应路由配置中的参数名。

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

function UserPage() {
  const params = useParams();
  console.log(params.id); // 获取URL中的id值
}

获取查询字符串

通过useLocationsearch属性获取查询字符串,需配合URLSearchParams进行解析。

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

function SearchPage() {
  const location = useLocation();
  const query = new URLSearchParams(location.search);
  const keyword = query.get('q'); // 获取?q=xxx中的值
}

编程式导航

使用useNavigate钩子进行路由跳转,可传递路径字符串或配置对象。第二参数可设置replacestate等选项。

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

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

  const handleClick = () => {
    navigate('/profile', { state: { fromHome: true } });
  };
}

获取路由状态

通过useLocationstate属性可获取导航时传递的状态对象。适用于页面间传递临时数据。

function ProfilePage() {
  const location = useLocation();
  const stateData = location.state?.fromHome; // 获取跳转时传递的state
}

react如何获取路由

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

相关文章

react 如何引入css

react 如何引入css

在 React 中引入 CSS 的方法 React 提供了多种引入 CSS 的方式,可以根据项目需求选择合适的方法。以下是常见的几种方式: 内联样式 内联样式直接在组件中通过 style 属性定义…

react如何查

react如何查

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

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…

react如何动画

react如何动画

React 动画实现方法 React 中实现动画可以通过多种方式,包括原生 CSS、第三方库或 React 内置的动画解决方案。以下是几种常见方法: 使用 CSS 动画和过渡 通过 CSS 的 t…

理解如何react

理解如何react

理解React的核心概念 React是一个用于构建用户界面的JavaScript库,专注于通过组件化开发提高代码的可维护性和复用性。其核心思想包括虚拟DOM(Virtual DOM)和单向数据流,能够…