当前位置:首页 > React

react如何进行页面跳转

2026-01-25 15:29:53React

使用 React Router 进行页面跳转

React Router 是 React 生态中最常用的路由管理库,支持声明式和编程式导航。

安装 React Router:

npm install react-router-dom

声明式导航(Link 组件)

使用 <Link> 组件实现页面跳转,类似于 HTML 的 <a> 标签,但不会触发页面刷新。

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

function App() {
  return (
    <Link to="/about">跳转到 About 页面</Link>
  );
}

编程式导航(useNavigate Hook)

在函数组件中,可以通过 useNavigate Hook 实现编程式跳转。

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

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

  const handleClick = () => {
    navigate('/about'); // 跳转到 About 页面
    navigate('/about', { replace: true }); // 替换当前历史记录
    navigate(-1); // 返回上一页
  };

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

路由参数传递

跳转时可以传递参数,通过 state 或 URL 参数实现。

// 通过 state 传递参数
navigate('/user', { state: { id: 123 } });

// 通过 URL 参数传递
navigate('/user/123');

类组件中的导航

在类组件中,可以通过 withRouter 高阶组件或使用 history 对象。

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

class MyComponent extends React.Component {
  handleClick = () => {
    this.props.history.push('/about');
  };

  render() {
    return <button onClick={this.handleClick}>跳转</button>;
  }
}

export default withRouter(MyComponent);

动态路由匹配

在路由配置中定义动态参数,通过 useParams Hook 获取。

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

// 在 UserPage 组件中获取参数
import { useParams } from 'react-router-dom';

function UserPage() {
  const { id } = useParams();
  return <div>User ID: {id}</div>;
}

重定向

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

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

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

react如何进行页面跳转

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

相关文章

vue实现页面

vue实现页面

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

vue实现的页面

vue实现的页面

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

Vue实现lagger页面

Vue实现lagger页面

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

vue实现关闭页面

vue实现关闭页面

关闭当前页面的方法 在Vue中关闭当前页面可以通过JavaScript的window.close()方法实现。该方法会关闭当前浏览器窗口或标签页。 methods: { closePage()…

vue实现页面跳转

vue实现页面跳转

vue实现页面跳转的方法 在Vue中实现页面跳转主要有以下几种方式: 使用router-link组件 router-link是Vue Router提供的组件,用于声明式导航: <router…

h5实现登录页面跳转页面跳转页面

h5实现登录页面跳转页面跳转页面

实现H5登录页面跳转 在H5中实现登录页面跳转可以通过多种方式完成,以下是几种常见方法: 使用window.location.href window.location.href = '目标页面…