当前位置:首页 > React

react如何页面跳转

2026-01-15 11:11:36React

React 页面跳转方法

在 React 中实现页面跳转有多种方式,具体取决于项目使用的路由库(如 React Router)或状态管理工具。以下是常见的几种方法:

使用 React Router 的 Link 组件

React Router 提供了 Link 组件,用于声明式导航。适用于需要保留应用状态的无刷新跳转。

react如何页面跳转

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

function App() {
  return (
    <Link to="/target-page">跳转到目标页</Link>
  );
}

使用 useNavigate Hook(React Router v6)

在函数组件中,可以通过 useNavigate Hook 实现编程式导航:

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

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

  const handleClick = () => {
    navigate('/target-page'); // 跳转基础路径
    navigate('/target-page', { state: { data: 123 } }); // 带状态跳转
    navigate(-1); // 返回上一页
  };

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

使用 history.push(React Router v5)

在旧版 React Router 中可通过 history 对象操作:

react如何页面跳转

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

function MyComponent() {
  const history = useHistory();

  const handleClick = () => {
    history.push('/target-page');
  };

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

原生 JavaScript 跳转

如果需要完全离开当前应用(如跳转外部链接),可使用原生方法:

window.location.href = 'https://example.com'; // 页面级跳转
window.open('https://example.com', '_blank'); // 新标签页打开

路由参数传递

跳转时可通过 URL 参数或状态传递数据:

// URL 参数
navigate('/user/123'); 

// 查询参数
navigate('/user?id=123'); 

// 状态传递
navigate('/user', { state: { id: 123 } });

注意事项

  • 使用 React Router 前需正确配置路由(BrowserRouter/Routes/Route)。
  • 编程式导航通常用于表单提交后跳转等逻辑场景。
  • 外部链接跳转会触发页面刷新,导致 React 应用状态丢失。

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

相关文章

vue实现页面截屏

vue实现页面截屏

使用html2canvas库实现截屏 html2canvas是一个流行的JavaScript库,可以将DOM元素转换为Canvas图像。在Vue项目中安装html2canvas: npm inst…

vue实现结算页面

vue实现结算页面

Vue 实现结算页面的核心步骤 数据绑定与表单验证 使用 Vue 的 v-model 绑定表单数据,例如收货地址、支付方式等。通过 Vue 的 computed 属性计算总价,结合 v-if 或 v-…

vue实现点击跳转

vue实现点击跳转

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

vue实现界面跳转

vue实现界面跳转

路由配置 在Vue项目中实现界面跳转通常依赖Vue Router。需在router/index.js中配置路由路径和组件映射关系: import { createRouter, createWeb…

vue实现页面定位

vue实现页面定位

Vue 实现页面定位的方法 在 Vue 中实现页面定位通常可以通过以下几种方式完成,包括使用原生 JavaScript 的 scrollIntoView 方法、Vue Router 的滚动行为配置,以…

vue实现前端跳转

vue实现前端跳转

Vue 实现前端跳转的方法 在 Vue 中实现前端跳转通常使用 Vue Router,以下是几种常见的跳转方式: 声明式导航(模板中使用 <router-link>) 在模板中直接使用…