当前位置:首页 > React

如何react页面跳转

2026-01-23 19:41:51React

使用 React Router 进行页面跳转

React Router 是 React 中最常用的路由管理库,支持声明式和编程式导航。

安装 React Router:

npm install react-router-dom

声明式导航(使用 Link 组件):

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

function App() {
  return (
    <Link to="/about">跳转到关于页面</Link>
  );
}

编程式导航(使用 useNavigate 钩子):

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

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

  return (
    <button onClick={() => navigate('/about')}>跳转</button>
  );
}

配置路由表

在根组件中配置路由表:

如何react页面跳转

import { BrowserRouter, Routes, Route } from 'react-router-dom';

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

动态路由跳转

带参数的跳转:

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

在目标组件中获取参数:

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

function User() {
  const { id } = useParams();
  return <div>User ID: {id}</div>;
}

重定向操作

使用 Navigate 组件进行重定向:

如何react页面跳转

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

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

编程式重定向:

navigate('/login', { replace: true });

路由跳转传参

通过 state 传递参数:

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

在目标组件获取参数:

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

function About() {
  const location = useLocation();
  console.log(location.state.fromHome);
}

路由守卫实现

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

function PrivateRoute({ children }) {
  const auth = useAuth();
  return auth ? children : <Navigate to="/login" />;
}

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

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

相关文章

vue实现点击页面切换

vue实现点击页面切换

Vue 实现页面切换 在 Vue 中实现页面切换通常可以通过以下几种方式实现,具体选择取决于项目需求和技术栈。 使用 Vue Router 实现页面切换 Vue Router 是 Vue 官方提供的…

vue实现页面定位

vue实现页面定位

Vue 实现页面定位的方法 使用 scrollIntoView 方法 通过 JavaScript 的 scrollIntoView 方法可以实现平滑滚动到指定元素位置。在 Vue 中,可以通过 ref…

H5页面全景怎么实现

H5页面全景怎么实现

H5页面全景实现方法 H5页面全景效果可以通过多种技术实现,以下是几种常见的方法: 使用Three.js库 Three.js是一个基于WebGL的JavaScript库,适合创建复杂的3D全景效果。…

弹窗能用h5页面实现吗

弹窗能用h5页面实现吗

H5实现弹窗的方法 H5页面可以通过HTML、CSS和JavaScript实现多种弹窗效果,包括模态框、提示框、悬浮通知等。以下是常见的实现方式: 使用HTML和CSS创建基础弹窗 通过<…

vue实现页面转换

vue实现页面转换

Vue 实现页面转换的方法 Vue 提供了多种方式实现页面转换,主要包括路由切换动画和组件过渡效果。以下是几种常见的实现方法: 使用 Vue Router 和过渡动画 通过 Vue 的 <tr…

vue 登录页面实现

vue 登录页面实现

实现 Vue 登录页面的步骤 创建 Vue 项目 使用 Vue CLI 创建一个新项目,运行以下命令: vue create login-page 进入项目目录并安装必要的依赖: cd login…