当前位置:首页 > 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 提供的导航组件,不会触发页面刷新:

react如何页面跳转

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

react如何页面跳转

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 应用的页面跳转,具体选择取决于场景需求。

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

相关文章

实现vue页面回退

实现vue页面回退

监听浏览器返回事件 在Vue组件中使用beforeRouteLeave导航守卫,可以监听路由变化。该方法在离开当前路由前触发,适用于需要确认或保存数据的场景。 beforeRouteLeave(…

vue 实现页面跳转

vue 实现页面跳转

vue 实现页面跳转的方法 在 Vue 中实现页面跳转主要通过路由(Vue Router)完成,以下是几种常见的方式: 声明式导航(模板中使用 <router-link>) 在模板中直接…

react 如何跳转

react 如何跳转

使用 React Router 进行页面跳转 React 应用中通常使用 react-router-dom 库实现页面跳转。以下是几种常见的跳转方式: 安装依赖 npm install react…

h5页面实现扫一扫

h5页面实现扫一扫

调用设备摄像头实现扫描功能 在H5页面中实现扫一扫功能通常需要调用设备的摄像头,并通过JavaScript解析摄像头捕获的图像。以下是几种常见的实现方法: 使用HTML5的getUserMedia…

vue实现页面切换

vue实现页面切换

Vue 实现页面切换的方法 Vue 中实现页面切换通常使用 Vue Router,这是 Vue.js 官方的路由管理器。以下是几种常见的实现方式: 使用 Vue Router 的基本配置 安装 Vu…

h5页面如何实现

h5页面如何实现

实现H5页面的方法 H5页面是基于HTML5技术的网页,通常用于移动端和响应式设计。以下是实现H5页面的关键步骤和技术要点。 基础结构 使用HTML5的DOCTYPE声明作为页面的起始。HTML5简…