当前位置:首页 > 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 应用状态丢失。

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

相关文章

css如何制作页面模糊

css如何制作页面模糊

使用 backdrop-filter 属性 通过 backdrop-filter 属性可以直接为元素背后的区域添加模糊效果。该属性需要浏览器支持(如 Chrome、Edge、Safari)。示例代码:…

vue实现页面

vue实现页面

Vue 实现页面的基本方法 安装 Vue.js 依赖 通过 npm 或 yarn 安装 Vue.js: npm install vue # 或 yarn add vue 创建 Vue 实例 在…

vue实现页面签字

vue实现页面签字

实现页面签名的Vue方案 在Vue中实现页面签名功能,可以通过HTML5的Canvas元素结合手势或鼠标事件来捕获用户绘制轨迹。以下是具体实现方法: 安装签名库(可选) 使用现成的Vue签名…

js实现跳转页面

js实现跳转页面

使用 window.location.href 实现跳转 通过修改 window.location.href 属性可以跳转到指定 URL。这是最常见且简单的方法,会触发页面刷新并加载新页面。 win…

jquery页面刷新

jquery页面刷新

jQuery 实现页面刷新 使用 jQuery 刷新页面可以通过以下几种方法实现: 方法一:使用 location.reload() $(document).ready(function() {…

h5实现页面3d切换

h5实现页面3d切换

使用CSS 3D变换实现基础效果 在HTML5中实现3D页面切换,可以通过CSS的transform属性结合3D变换函数。创建一个包含多个页面的容器,通过调整transform-style和persp…