当前位置:首页 > React

react如何页面跳转

2026-01-15 11:11:36React

React 页面跳转方法

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

使用 React Router 的 Link 组件

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

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 对象操作:

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 应用状态丢失。

react如何页面跳转

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

相关文章

vue实现页面分页

vue实现页面分页

Vue实现页面分页的方法 使用Element UI的分页组件 Element UI提供了现成的分页组件el-pagination,可以快速实现分页功能。需要先安装Element UI库。 <…

vue页面实现流程

vue页面实现流程

Vue页面实现流程 初始化Vue项目 使用Vue CLI或Vite创建项目,安装Vue及相关依赖。例如通过Vue CLI: npm install -g @vue/cli vue create my…

vue实现页面刻度

vue实现页面刻度

实现页面刻度的基本思路 在Vue中实现页面刻度通常涉及动态渲染刻度线、数值标签及交互逻辑。可通过CSS绝对定位结合Vue的数据绑定能力实现。以下是具体方法: 刻度组件结构 创建一个Vue组件(如Sc…

css如何制作页面模糊

css如何制作页面模糊

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

vue实现页面属性修改

vue实现页面属性修改

Vue 实现页面属性修改的方法 Vue 提供了多种方式来动态修改页面属性,包括数据绑定、计算属性、侦听器等。以下是几种常见的方法: 数据绑定 通过 v-bind 指令或简写 : 实现动态绑定 HT…

vue实现点击跳转路由

vue实现点击跳转路由

vue实现点击跳转路由的方法 在Vue中实现点击跳转路由,可以通过以下几种方式完成,具体取决于项目使用的路由管理工具(如Vue Router)以及需求场景。 使用router-link组件 rout…