当前位置:首页 > React

react如何进行页面跳转

2026-01-25 15:29:53React

使用 React Router 进行页面跳转

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

安装 React Router:

npm install react-router-dom

声明式导航(Link 组件)

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

react如何进行页面跳转

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 参数实现。

react如何进行页面跳转

// 通过 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" />;
}

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

相关文章

js实现页面跳转

js实现页面跳转

使用 window.location.href 通过修改 window.location.href 实现页面跳转,直接赋值目标 URL 即可。 window.location.href = 'h…

js实现页面跳转

js实现页面跳转

使用 window.location.href 通过修改 window.location.href 属性实现页面跳转: window.location.href = 'https://example…

vue实现结算页面

vue实现结算页面

Vue 实现结算页面的方法 数据绑定与表单验证 使用 Vue 的 v-model 实现表单数据的双向绑定,确保用户输入的数据能够实时更新到 Vue 实例中。例如,绑定收货地址、支付方式等表单字段。…

vue实现页面签字

vue实现页面签字

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

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

h5页面实现语音输入

h5页面实现语音输入

语音输入实现方法 H5页面实现语音输入主要依赖浏览器的Web Speech API,包括语音识别(SpeechRecognition)和语音合成(SpeechSynthesis)两部分。以下是具体实现…