当前位置:首页 > 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>
  );
}

编程式导航(类组件)

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 参数

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 实现权限控制:

react是如何跳转的

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

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

相关文章

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…

react如何分

react如何分

React 分页实现方法 在 React 中实现分页功能可以通过多种方式完成,以下是几种常见的方法: 使用状态管理分页数据 在组件内部维护当前页码和每页数据量的状态,通过计算切片数据实现分页。…

react如何用echarts

react如何用echarts

在React中使用ECharts 安装ECharts和React专用封装库: npm install echarts echarts-for-react 基础使用示例 创建一个基础的柱状图组件:…

react 如何设置 代理

react 如何设置 代理

在 React 中设置代理 在开发过程中,为了跨域请求后端 API,可以通过配置代理来解决。以下是几种常见的设置代理的方法: 使用 package.json 配置代理 在 package.json…

react如何激活跟踪

react如何激活跟踪

激活 React 跟踪的方法 React 跟踪通常指性能监控、状态变更追踪或用户行为分析。以下是几种常见场景的激活方式: 使用 React DevTools React DevTools 是官方…

react如何使用redux

react如何使用redux

使用 Redux 在 React 中的应用 Redux 是一个状态管理库,通常与 React 结合使用以管理全局状态。以下是具体实现步骤: 安装依赖 确保项目中已安装 redux 和 react-r…