当前位置:首页 > React

react router如何跳转

2026-01-23 19:40:22React

React Router 跳转方法

在 React Router(v6 版本)中,跳转页面可以通过多种方式实现,以下是常见的几种方法:

1. 使用 Link 组件导航 Link 是 React Router 提供的声明式导航组件,适用于点击跳转场景。

react router如何跳转

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

function MyComponent() {
  return (
    <Link to="/target-path">跳转到目标页</Link>
  );
}

2. 使用 useNavigate Hook 编程式导航 通过 useNavigate Hook 可以在事件处理或逻辑中动态跳转。

react router如何跳转

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

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

  const handleClick = () => {
    navigate('/target-path'); // 跳转到目标路径
    navigate(-1); // 返回上一页
  };

  return <button onClick={handleClick}>跳转</button>;
}

3. 路由重定向 Navigate 组件 适用于条件跳转(如权限验证后自动跳转)。

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

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

4. 传递状态参数 跳转时可携带状态(state),目标页面通过 useLocation 获取。

// 跳转时传递参数
navigate('/target-path', { state: { id: 123 } });

// 目标页面获取参数
import { useLocation } from 'react-router-dom';
const location = useLocation();
console.log(location.state.id); // 123

注意事项

  • 路由版本差异:v5 使用 useHistory,v6 改为 useNavigate
  • replace 选项:默认跳转是 push 模式(保留历史记录),添加 replace: true 会替换当前历史记录。
  • 动态路由参数:路径如 /user/:id,目标页面通过 useParams 获取参数。

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

相关文章

react native如何启动

react native如何启动

React Native 启动步骤 确保已安装 Node.js(建议版本 14 或更高)和 npm/yarn。安装完成后,通过命令行工具执行以下操作。 初始化新项目 使用 React Native…

js实现页面跳转

js实现页面跳转

使用 window.location.href 通过修改 window.location.href 实现页面跳转,直接赋值目标 URL 即可。 window.location.href = 'h…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

如何react页面

如何react页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react 如何调试

react 如何调试

调试 React 应用的方法 使用 React Developer Tools 安装 Chrome 或 Firefox 的 React Developer Tools 扩展,可以检查组件树、状态和 p…