当前位置:首页 > React

如何用react写页面跳转

2026-01-25 07:11:59React

使用React Router进行页面跳转

React Router是React生态中最常用的路由管理库,适用于单页面应用(SPA)的导航和页面跳转。以下是具体实现方法:

安装React Router库

npm install react-router-dom

配置基本路由结构

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

function App() {
  return (
    <Router>
      <nav>
        <Link to="/">首页</Link>
        <Link to="/about">关于</Link>
      </nav>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

编程式导航实现跳转

在组件中使用useNavigate钩子进行跳转:

如何用react写页面跳转

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

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

  return (
    <button onClick={() => navigate('/about')}>
      跳转到关于页面
    </button>
  );
}

带参数的跳转方式

传递参数并跳转:

navigate('/user', { state: { id: 123 } });
// 或
navigate('/user/123');

接收参数:

// 对于state方式
const location = useLocation();
const { id } = location.state;

// 对于路径参数
<Route path="/user/:id" element={<User />} />
function User() {
  const { id } = useParams();
}

路由守卫实现权限控制

通过高阶组件保护路由:

如何用react写页面跳转

function PrivateRoute({ children }) {
  const isAuthenticated = checkAuth();
  const navigate = useNavigate();

  if (!isAuthenticated) {
    navigate('/login');
    return null;
  }

  return children;
}

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

常见跳转方法比较

  • Link组件:适合声明式导航,渲染为<a>标签
  • useNavigate:适合事件触发的编程式导航
  • redirect:适合在渲染过程中重定向
  • useHistory(v5):React Router 5的旧API,v6已替换为useNavigate

动态路由匹配

实现通配符路由:

<Route path="/product/*" element={<Product />} />

处理404页面:

<Route path="*" element={<NotFound />} />

路由懒加载优化性能

使用React.lazy实现按需加载:

const About = React.lazy(() => import('./About'));
<Suspense fallback={<Loader />}>
  <Route path="/about" element={<About />} />
</Suspense>

标签: 跳转如何用
分享给朋友:

相关文章

vue实现点击跳转

vue实现点击跳转

Vue 实现点击跳转的方法 在 Vue 中实现点击跳转可以通过以下几种方式: 使用 router-link router-link 是 Vue Router 提供的组件,用于声明式导航。适合在模板中…

h5实现登录页面跳转页面跳转页面跳转

h5实现登录页面跳转页面跳转页面跳转

使用HTML5实现登录页面跳转 在HTML5中实现登录页面跳转可以通过多种方式完成,包括表单提交、JavaScript跳转和超链接跳转。以下是几种常见的实现方法。 表单提交跳转 使用HTML表单的a…

如何用react

如何用react

使用React的基本步骤 安装Node.js和npm 确保系统已安装Node.js和npm。Node.js自带npm,可从官网下载安装包。安装完成后,通过命令行验证版本: node -v npm -…

vue实现导航跳转

vue实现导航跳转

vue-router 基本跳转方法 在 Vue 项目中实现导航跳转主要通过 vue-router 完成。安装路由依赖: npm install vue-router 在 router/index.j…

如何用java做游戏

如何用java做游戏

使用Java开发游戏的基本方法 Java是一种跨平台的编程语言,适合开发2D游戏甚至简单的3D游戏。以下是使用Java开发游戏的主要方法和工具。 选择游戏开发框架 Java游戏开发通常依赖以下框架或…

vue实现URL跳转

vue实现URL跳转

Vue 实现 URL 跳转的方法 在 Vue 中实现 URL 跳转可以通过多种方式完成,以下是常见的几种方法: 使用 router-link 组件 router-link 是 Vue Router…