当前位置:首页 > 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如何鉴定

react如何鉴定

React 鉴权方法 基于路由的鉴权 在 React 中,可以通过封装路由组件实现鉴权。使用 react-router-dom 检查用户是否登录,未登录则跳转至登录页。 import { Rou…

react 如何精通

react 如何精通

掌握核心概念 深入理解React的基础概念,包括组件(函数组件与类组件)、状态(useState)、生命周期(useEffect)、Props传递、虚拟DOM与Diff算法。通过官方文档或《React…

react 如何获取dom

react 如何获取dom

获取 DOM 的方法 在 React 中,可以通过 useRef 或 createRef 来获取 DOM 节点。useRef 是函数组件中常用的方法,而 createRef 通常用于类组件。 使用…

小白如何搭建react

小白如何搭建react

安装 Node.js 和 npm 确保系统已安装 Node.js(包含 npm)。可通过官网下载安装包(https://nodejs.org/),选择 LTS 版本。安装完成后,终端运行以下命令验证版…

如何设计react组件

如何设计react组件

设计 React 组件的核心原则 React 组件的设计需要遵循高内聚、低耦合的原则,确保组件功能独立且易于维护。组件的设计可以分为展示组件和容器组件两类,展示组件负责 UI 渲染,容器组件负责逻辑处…

react如何引入jq

react如何引入jq

在React中引入jQuery的方法 React和jQuery可以共存,但需要注意避免直接操作DOM,因为React有自己的虚拟DOM机制。以下是几种引入jQuery的方式: 通过npm安装jQue…