当前位置:首页 > React

react 如何跳转页面跳转

2026-01-24 12:09:32React

React 页面跳转方法

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

使用 React Router 的 Link 组件

React Router 提供了 Link 组件,用于在应用内进行导航而不刷新页面。适用于声明式导航。

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

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

使用 React Router 的 useNavigate Hook

React Router v6 引入了 useNavigate Hook,适用于编程式导航(例如在事件处理函数中跳转)。

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

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

  const handleClick = () => {
    navigate('/target-path');
    // 可传递状态或参数
    navigate('/target-path', { state: { id: 1 } });
  };

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

使用 React Router 的 history(v5 及以下)

在 React Router v5 或更低版本中,可以通过 history 对象实现跳转。

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

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

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

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

原生 JavaScript 跳转

如果不使用路由库,可以通过原生方法实现页面跳转,但会导致页面刷新。

window.location.href = '/target-path';
// 或
window.location.replace('/target-path'); // 替换当前历史记录

路由参数传递

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

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

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

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

外部链接跳转

对于跳转到外部链接,建议使用原生方法或 a 标签。

<a href="https://example.com" target="_blank" rel="noopener noreferrer">
  跳转到外部链接
</a>

动态路由跳转

在动态路由中,可以通过模板字符串或参数对象构造路径。

const userId = 123;
navigate(`/user/${userId}`);

// 或使用对象形式
navigate({
  pathname: '/user',
  search: '?id=123',
});

根据项目需求选择合适的方法,React Router 提供的导航方式更适合单页应用(SPA),而原生方法适用于传统多页应用。

react 如何跳转页面跳转

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

相关文章

vue实现界面跳转

vue实现界面跳转

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

vue实现页面缓存

vue实现页面缓存

使用 <keep-alive> 组件实现缓存 Vue 内置的 <keep-alive> 组件可以缓存动态组件或路由组件。通过包裹需要缓存的组件,可以保留其状态避免重复渲染。…

h5实现页面跳转页面跳转页面

h5实现页面跳转页面跳转页面

H5 实现页面跳转的方法 使用 <a> 标签实现跳转 通过超链接标签 <a> 的 href 属性指定目标页面路径,用户点击后跳转。 <a href="target.…

vue实现页面刻度

vue实现页面刻度

实现页面刻度的基本思路 在Vue中实现页面刻度通常用于展示进度、测量或标记特定位置。可以通过动态计算和渲染刻度元素来实现,结合CSS样式控制显示效果。 使用动态渲染刻度线 通过v-for指令动态生…

js实现跳转页面

js实现跳转页面

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

实现js页面跳转页面

实现js页面跳转页面

使用 window.location.href 通过修改 window.location.href 实现跳转,浏览器会加载新页面并记录到历史记录中: window.location.href =…