当前位置:首页 > React

react实现路由跳转

2026-01-26 22:02:22React

React 路由跳转实现方法

在 React 中实现路由跳转通常使用 react-router-dom 库(适用于 Web 应用)。以下是常见的几种方式:

使用 Link 组件导航

Link 是声明式导航方式,通过组件形式实现跳转:

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

function App() {
  return (
    <Link to="/about">跳转到 About 页</Link>
  );
}

使用 useNavigate Hook(函数式跳转)

适用于事件触发或条件跳转:

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

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

  const handleClick = () => {
    navigate('/about'); // 基础路径
    navigate('/about', { replace: true }); // 替换当前历史记录
    navigate(-1); // 返回上一页
  };

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

编程式导航(类组件)

对于类组件,可通过 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);

路由传参方式

URL 参数

navigate('/user/123'); // 定义路由:path="/user/:id"

查询参数

navigate('/search?keyword=react'); // 通过 useLocation().search 获取

状态传参

navigate('/detail', { state: { id: 1 } }); // 通过 useLocation().state 获取

重定向操作

使用 Navigate 组件实现条件重定向:

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

function ProtectedPage({ isLoggedIn }) {
  return isLoggedIn ? <Dashboard /> : <Navigate to="/login" replace />;
}

注意事项

  1. 确保已安装最新版 react-router-dom
    npm install react-router-dom@6
  2. 路由配置需在根组件包裹 <BrowserRouter>
    
    import { BrowserRouter } from 'react-router-dom';

ReactDOM.render(

, document.getElementById('root') ); ``` 3. 动态路由参数通过 `useParams()` Hook 获取。

react实现路由跳转

标签: 跳转路由
分享给朋友:

相关文章

vue实现拼接路径实现跳转

vue实现拼接路径实现跳转

实现拼接路径跳转的方法 在Vue中,可以通过多种方式拼接路径并实现跳转。以下是几种常见的实现方法: 使用router-link组件 通过模板中的router-link组件动态拼接路径: <r…

vue 路由 实现

vue 路由 实现

Vue 路由实现方法 Vue 路由通常通过 Vue Router 实现,它是 Vue.js 官方的路由管理器,用于构建单页应用(SPA)。以下是具体实现步骤: 安装 Vue Router 通过 n…

vue路由实现

vue路由实现

Vue 路由实现方法 安装 Vue Router 在项目中安装 Vue Router 依赖包: npm install vue-router 配置路由 在 src 目录下创建 router/inde…

vue实现路由

vue实现路由

Vue 路由的实现方法 Vue 中实现路由通常使用 Vue Router 库。以下是具体的实现步骤: 安装 Vue Router 在项目中通过 npm 或 yarn 安装 Vue Router:…

php 路由实现

php 路由实现

PHP 路由实现方法 在 PHP 中实现路由功能有多种方式,以下是几种常见的实现方法: 使用原生 PHP 实现 通过解析 URL 并匹配对应的控制器和动作: $request = $_SERVER…

vue实现拼接路径实现跳转

vue实现拼接路径实现跳转

在Vue中拼接路径并实现跳转 使用Vue Router的router.push方法结合模板字符串或路径拼接方法 // 在方法中拼接路径 methods: { navigateTo(path)…