当前位置:首页 > React

react是如何跳转的

2026-01-24 11:54:44React

React 路由跳转的几种方式

在 React 中,路由跳转通常通过 react-router-dom 库实现。以下是常见的几种跳转方式:

使用 Link 组件

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

<Link to="/target-path">跳转到目标页面</Link>

使用 useNavigate Hook(React Router v6)

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

function MyComponent() {
  const navigate = useNavigate();
  return (
    <button onClick={() => navigate('/target-path')}>跳转</button>
  );
}

编程式导航(类组件)

react是如何跳转的

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

class MyComponent extends React.Component {
  handleClick = () => {
    this.props.history.push('/target-path');
  };
  render() {
    return <button onClick={this.handleClick}>跳转</button>;
  }
}

export default withRouter(MyComponent);

重定向(Navigate 组件)

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

function ProtectedRoute({ isAuthenticated }) {
  return isAuthenticated ? <MyComponent /> : <Navigate to="/login" />;
}

路由跳转的参数传递

URL 参数

react是如何跳转的

navigate('/user/123'); // 跳转到动态路由 /user/:id

查询参数

navigate('/search?keyword=react'); // 跳转并带查询参数

状态参数

navigate('/target', { state: { fromDashboard: true } });
// 目标组件通过 useLocation() 获取状态

注意事项

  • 确保项目已安装 react-router-dom(v5 或 v6 版本语法不同)
  • 路由跳转前需在根组件用 <BrowserRouter> 包裹
  • 在 v6 中,useHistoryuseNavigate 取代
  • 嵌套路由需配合 <Outlet /> 组件使用

路由守卫实现

通过高阶组件或自定义 Hook 实现权限控制:

function PrivateRoute({ children }) {
  const auth = useAuth();
  return auth ? children : <Navigate to="/login" />;
}

标签: 跳转react
分享给朋友:

相关文章

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取日期 在 React 项目中,可以通过 Moment.js 库轻松处理日期和时间。以下是几种常见的日期获取方法。 安装 Moment.js 确保项目中已安装 Mome…

react如何记忆

react如何记忆

React 记忆技术 在 React 中,记忆(Memoization)是一种优化技术,用于避免不必要的重新渲染或计算。React 提供了多种内置方法和第三方库来实现记忆功能。 useMemo H…

react如何保养

react如何保养

保持组件简洁 将大型组件拆分为更小、更专注的组件,每个组件只负责单一功能。避免在单个组件中处理过多逻辑或状态,这有助于提高可维护性和可测试性。 合理使用状态管理 根据应用复杂度选择状态管理方案。简单…

php实现页面跳转

php实现页面跳转

PHP实现页面跳转的方法 在PHP中,可以通过多种方式实现页面跳转,以下是几种常用的方法: header函数跳转 header("Location: target_page.php"); ex…

js实现页面跳转

js实现页面跳转

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

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impo…