当前位置:首页 > React

react怎么实现页面跳转

2026-01-27 13:11:55React

使用 React Router 实现页面跳转

React Router 是 React 生态中最常用的路由管理库,适用于单页应用(SPA)的页面跳转。安装最新版本的 react-router-dom(适用于 Web 应用):

npm install react-router-dom

基本路由配置示例: 在根组件(如 App.js)中配置路由规则,通过 <Routes><Route> 定义路径与组件的映射关系。

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

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

编程式导航

通过 useNavigate Hook 在事件中触发跳转:

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

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

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

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

声明式导航

使用 <Link><NavLink> 组件实现点击跳转,避免页面刷新:

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

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

动态路由与参数传递

通过 URL 参数传递数据:

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

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

// 在目标组件中获取参数
import { useParams } from 'react-router-dom';
function UserProfile() {
  const { id } = useParams(); // id = '123'
}

重定向操作

使用 <Navigate> 组件或 navigate 函数实现条件重定向:

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

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

注意事项

  • 路由模式选择BrowserRouter 需要服务端支持(如 History API),静态站点可使用 HashRouter(URL 带 #)。
  • 404 页面:通过 path="*" 捕获未匹配路径。
  • 嵌套路由:在父路由组件中使用 <Outlet> 渲染子路由内容。

完整示例可参考 React Router 官方文档

react怎么实现页面跳转

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

相关文章

vue实现页面

vue实现页面

Vue 实现页面的基本方法 创建 Vue 项目 使用 Vue CLI 快速初始化项目,运行以下命令安装并创建项目: npm install -g @vue/cli vue create my-pro…

vue实现拼接路径实现跳转

vue实现拼接路径实现跳转

实现拼接路径跳转的方法 在Vue中,可以通过多种方式拼接路径并实现跳转。以下是几种常见的实现方法: 使用router-link组件 通过模板中的router-link组件动态拼接路径: <…

vue实现的页面

vue实现的页面

Vue 实现的页面示例 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是一个简单的 Vue 页面实现示例,包含基本的结构和功能。 安装 Vue 通过 CDN 引入 V…

vue 实现页面跳转

vue 实现页面跳转

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

vue实现反馈页面

vue实现反馈页面

Vue 实现反馈页面的方法 基础表单结构 使用 Vue 的模板语法构建反馈表单,包含输入框、下拉选择、复选框等基础元素。表单需绑定 v-model 实现数据双向绑定。 <template>…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载页面或组件,直到它们真正需要显示时才加载。以下是几种在Vue中实现懒加载页面的常见方法: 使用Vue Rou…