当前位置:首页 > React

react实现点击跳转页面

2026-01-27 16:11:22React

在React中实现点击跳转页面可以通过多种方式实现,以下是几种常见的方法:

使用react-router-dom的Link组件

安装react-router-dom库后,可以通过Link组件实现页面跳转,适用于声明式导航。

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

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

使用useNavigate钩子(React Router v6)

通过useNavigate钩子实现编程式导航,适合在事件处理函数中触发跳转。

react实现点击跳转页面

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

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

  const handleClick = () => {
    navigate('/target-page');
  };

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

使用window.location(非React Router场景)

直接操作浏览器API实现跳转,但会触发页面刷新,不推荐在单页应用(SPA)中频繁使用。

function RedirectButton() {
  const handleClick = () => {
    window.location.href = '/target-page';
  };

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

使用Navigate组件(条件重定向)

通过条件渲染Navigate组件实现自动跳转,适用于权限校验等场景。

react实现点击跳转页面

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

function ProtectedRoute({ isAuthenticated }) {
  if (!isAuthenticated) {
    return <Navigate to="/login" replace />;
  }
  return <div>受保护的内容</div>;
}

传递状态参数

跳转时可通过state传递数据,目标页面通过useLocation获取。

// 跳转时
navigate('/target-page', { state: { id: 123 } });

// 目标页面中
const location = useLocation();
console.log(location.state.id); // 123

注意事项:

  • 使用React Router前需正确配置路由(如BrowserRouter)。
  • 编程式导航的replace参数可控制是否替换历史记录(默认为push)。
  • 动态路由参数需在路由配置中定义(如path="/user/:id")。

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

相关文章

vue怎么实现页面返回

vue怎么实现页面返回

Vue 实现页面返回的方法 在 Vue 中实现页面返回功能,可以通过以下几种方式完成,具体取决于项目使用的路由模式和技术栈。 使用 Vue Router 的编程式导航 通过 this.$router…

css制作锁屏页面

css制作锁屏页面

使用CSS制作锁屏页面 锁屏页面通常包含一个背景、时间显示以及可能的解锁按钮或输入框。以下是实现锁屏页面的关键CSS代码和结构。 HTML结构 <!DOCTYPE html> <…

uniapp前端页面

uniapp前端页面

Uniapp 前端页面开发指南 Uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端部署(H5、小程序、App等)。以下是开发 Uniapp 前端页面的关键方法和注意事项。…

vue 实现页面返回

vue 实现页面返回

监听浏览器返回事件 使用 window.addEventListener 监听 popstate 事件,在 Vue 的 mounted 钩子中绑定事件,并在 beforeDestroy 钩子中移除监听…

vue 实现页面注册

vue 实现页面注册

Vue 实现页面注册功能 在 Vue 中实现用户注册功能通常需要以下步骤: 创建注册表单组件 使用 Vue 的单文件组件结构创建一个注册表单,包含必要的输入字段如用户名、邮箱、密码等。 <t…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载非关键资源,从而提升页面初始加载速度。在Vue中可以通过以下方式实现懒加载: 路由懒加载 使用Vue Rou…