当前位置:首页 > React

react实现页面跳转

2026-01-26 22:49:17React

使用 React Router 实现页面跳转

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

安装 React Router

npm install react-router-dom

基本路由配置 在项目入口文件(如 App.js)中配置路由:

import { BrowserRouter as Router, Routes, Route } 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>
  );
}

编程式导航

通过 useNavigate Hook 实现跳转:

react实现页面跳转

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

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

  const handleClick = () => {
    navigate('/about'); // 跳转到关于页
    navigate('/about', { replace: true }); // 替换当前历史记录
    navigate(-1); // 返回上一页
  };

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

声明式导航

使用 <Link><NavLink> 组件:

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

function NavBar() {
  return (
    <nav>
      <Link to="/">首页</Link>
      <NavLink to="/about" activeClassName="active">关于</NavLink>
    </nav>
  );
}

NavLink 会自动为当前激活的路由添加样式类。

路由传参

URL 参数传递

react实现页面跳转

// 路由配置
<Route path="/user/:id" element={<User />} />

// 跳转时传递
navigate('/user/123');

// 组件中获取
import { useParams } from 'react-router-dom';
function User() {
  const { id } = useParams();
}

状态参数传递

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

// 目标组件获取
import { useLocation } from 'react-router-dom';
function About() {
  const { state } = useLocation();
}

重定向处理

使用 <Navigate> 组件实现条件重定向:

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

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

路由守卫

通过高阶组件实现权限控制:

function PrivateRoute({ children }) {
  const auth = useAuth(); // 自定义认证逻辑
  return auth ? children : <Navigate to="/login" />;
}

// 使用方式
<Route path="/dashboard" element={<PrivateRoute><Dashboard /></PrivateRoute>} />

以上方法覆盖了 React 中页面跳转的主要场景,根据具体需求选择合适的方式。React Router v6 的 API 设计更加简洁,建议在新项目中直接使用最新版本。

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

相关文章

h5实现网页跳转

h5实现网页跳转

H5实现网页跳转的方法 在HTML5中,可以通过多种方式实现网页跳转。以下是几种常见的方法: 使用<a>标签 通过超链接标签实现跳转是最传统的方式: <a href="http…

vue 实现页面注册

vue 实现页面注册

Vue 实现页面注册功能 在 Vue 中实现用户注册功能通常需要以下步骤: 创建注册表单组件 使用 Vue 的单文件组件结构创建一个注册表单,包含必要的输入字段如用户名、邮箱、密码等。 <t…

vue实现页面切换

vue实现页面切换

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

vue实现页面手写

vue实现页面手写

Vue 实现手写功能 在 Vue 中实现手写功能通常需要使用 HTML5 的 Canvas 元素,结合鼠标或触摸事件来捕捉用户的绘制动作。以下是实现步骤和代码示例: 基础实现步骤 创建一个 Vue…

vue实现聊天页面

vue实现聊天页面

Vue 实现聊天页面的核心步骤 搭建基础结构 使用 Vue CLI 或 Vite 初始化项目,安装必要依赖如 vue-router 和 axios。创建单文件组件 ChatWindow.vue 作为主…

实现js页面跳转页面跳转页面

实现js页面跳转页面跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性,可以直接跳转到目标 URL。这种方法会触发页面刷新,并在浏览器历史记录中留下记录。…