当前位置:首页 > React

react如何页面跳转

2026-02-11 20:02:56React

使用 React Router 进行页面跳转

React Router 是 React 生态中最常用的路由管理库,适用于单页面应用(SPA)的导航和跳转。以下是常见的几种跳转方式:

安装 React Router

npm install react-router-dom

基本路由配置App.js 或入口文件中配置路由:

import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import Home from './Home';
import About from './About';

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

通过 Link 组件跳转

Link 是 React Router 提供的导航组件,不会触发页面刷新:

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

function Home() {
  return (
    <div>
      <Link to="/about">跳转到 About 页</Link>
    </div>
  );
}

通过编程式导航跳转

使用 useNavigate Hook 在事件中跳转:

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

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

  const handleClick = () => {
    navigate('/about'); // 跳转到 About 页
    // navigate(-1);     // 返回上一页
  };

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

通过 Redirect 组件跳转(v5 及以下)

在 React Router v6 中已移除 Redirect,改用 Navigate

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

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

动态路由跳转

传递参数并跳转到动态路由:

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

// 获取参数:
import { useParams } from 'react-router-dom';
function User() {
  const { id } = useParams();
  return <div>User ID: {id}</div>;
}

跳转时传递状态

通过 state 传递数据:

navigate('/about', { state: { fromHome: true } });

// 接收状态:
import { useLocation } from 'react-router-dom';
function About() {
  const location = useLocation();
  console.log(location.state.fromHome); // true
}

使用 NavLink 高亮当前链接

NavLink 可自动添加激活状态的类名:

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

<NavLink 
  to="/about"
  className={({ isActive }) => isActive ? 'active' : ''}
>
  About
</NavLink>

注意事项

  • React Router v6 移除了 useHistory,改用 useNavigate
  • 确保跳转逻辑在组件渲染周期外调用(如事件回调中)。
  • 动态路由参数需在目标组件中通过 useParams 获取。

通过以上方法可以实现 React 应用的页面跳转,具体选择取决于场景需求。

react如何页面跳转

标签: 跳转页面
分享给朋友:

相关文章

vue实现引导页面

vue实现引导页面

vue实现引导页面的方法 使用Vue实现引导页面可以通过多种方式完成,以下是几种常见的方法: 使用第三方库driver.js 安装driver.js库: npm install drive…

vue实现页面刻度

vue实现页面刻度

实现页面刻度的基本思路 在Vue中实现页面刻度通常涉及动态渲染刻度线、数值标签及交互逻辑。可通过CSS绝对定位结合Vue的数据绑定能力实现。以下是具体方法: 刻度组件结构 创建一个Vue组件(如…

vue文件实现页面跳转

vue文件实现页面跳转

使用 router-link 实现跳转 在 Vue 模板中直接使用 <router-link> 组件,通过 to 属性指定目标路径: <router-link to="/tar…

vue实现两个登录页面

vue实现两个登录页面

实现多个登录页面的方法 在Vue项目中实现两个不同的登录页面,可以通过路由配置和组件分离的方式完成。以下是具体实现方法: 配置路由文件 在router/index.js中定义两个独立的路由,分别…

vue实现跳转

vue实现跳转

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转可以通过多种方式,包括使用 Vue Router 进行编程式导航或声明式导航,以及直接使用原生 JavaScript 方法。以下是几种常见的实现方…

jquery页面

jquery页面

jQuery 页面操作指南 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互的操作。以下是 jQuery 在页面中的常见使用方法…