当前位置:首页 > React

react route 如何跳转

2026-03-31 08:56:44React

使用 useNavigate Hook(React Router v6)

在 React Router v6 中,推荐使用 useNavigate Hook 进行编程式导航。
导入 Hook 并调用返回的 navigate 函数,传入目标路径或配置对象:

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

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

  // 跳转到指定路径
  navigate('/target-path');

  // 跳转并传递状态
  navigate('/target-path', { state: { data: 'example' } });

  // 返回上一页
  navigate(-1);
}

使用 <Navigate> 组件(React Router v6)

通过 <Navigate> 组件实现条件渲染跳转。
当组件渲染时,会自动重定向到指定路径:

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

function ProtectedRoute({ isLoggedIn }) {
  return isLoggedIn ? <Dashboard /> : <Navigate to="/login" replace />;
}

使用 useHistory Hook(React Router v5)

在 React Router v5 中,使用 useHistory Hook 进行跳转:

react route 如何跳转

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

function MyComponent() {
  const history = useHistory();

  // 跳转到指定路径
  history.push('/target-path');

  // 替换当前历史记录
  history.replace('/target-path');

  // 返回上一页
  history.goBack();
}

使用 <Link><NavLink> 组件

通过声明式导航组件实现页面跳转:

import { Link, NavLink } from 'react-router-dom';

// 普通跳转
<Link to="/target-path">跳转</Link>

// 带样式的跳转(激活时添加类名)
<NavLink to="/target-path" activeClassName="active">跳转</NavLink>

路由跳转传参

URL 参数传递
通过路径直接传递参数:

react route 如何跳转

navigate('/user/123'); // 跳转到动态路由 /user/:id

查询参数传递
使用 URLSearchParams 或手动拼接:

navigate(`/search?query=${encodeURIComponent('keyword')}`);

状态传递
通过 state 传递复杂数据:

navigate('/target', { state: { from: 'home', data: {} } });

在目标组件中通过 useLocation 获取状态:

const location = useLocation();
console.log(location.state); // { from: 'home', data: {} }

注意事项

  • v6 与 v5 差异:React Router v6 移除了 useHistory,改用 useNavigate
  • replace 模式navigate(path, { replace: true }) 会替换历史记录,而非新增。
  • 相对路径:v6 支持相对路径跳转(如 navigate('../parent'))。

标签: 跳转react
分享给朋友:

相关文章

vue 实现跳转

vue 实现跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,以下是常见的几种方法: 使用 router-link 组件 router-link 是 Vue Router 提供的组件,用于…

react如何收录

react如何收录

React 收录方法 React 的收录主要涉及搜索引擎优化(SEO)和预渲染技术。由于 React 是单页应用(SPA),默认情况下内容由 JavaScript 动态生成,可能导致搜索引擎爬虫难以收…

如何创建react

如何创建react

创建React项目的步骤 使用Create React App工具快速搭建React项目。确保已安装Node.js(版本需≥14.0.0)和npm(版本需≥5.6)。 打开终端或命令行工具,运行以下…

jquery跳转

jquery跳转

jQuery 页面跳转方法 使用 jQuery 实现页面跳转有多种方式,以下是几种常见的方法: 使用 window.location.href $(document).ready(function…

vue实现前端跳转

vue实现前端跳转

Vue 实现前端跳转的方法 在 Vue 中实现前端跳转主要通过路由(Vue Router)完成,以下是几种常见的方式: 声明式导航 使用 <router-link> 组件实现跳转,适合模…

react项目如何启动

react项目如何启动

启动React项目的步骤 确保已安装Node.js(建议版本12以上)和npm/yarn。可通过以下命令检查版本: node -v npm -v 全局安装create-react-app脚手架工具(…