react的withRouter高阶组件:

withRouter的作用就是, 如果我们某个东西不是一个Router, 但是我们要依靠它去跳转一个页面, 比如点击页面的logo, 返回首页, 这时候就可以使用withRouter来做.

在 React Router 中,withRouter 是一个函数,用于与路由相关的组件。它接受一个组件作为参数,并返回一个新的增强过的组件。

这个增强过的组件可以访问到 React Router 提供的路由对象的属性和方法。

通常,当一个组件位于路由体系之外,例如在嵌套组件中或作为子组件传递时,

它可能无法直接访问路由对象(如history、location和match)。这时,可以使用 withRouter 将这个组件包装起来,使它能够通过 props 获取到路由对象。

复制代码
import React from 'react';
import { withRouter } from 'react-router-dom';

const MyComponent = ({ history, location, match }) => {
    // 可以通过 props 获取路由对象的属性和方法
    console.log(history, location, match);

    return <div>这是一个使用 withRouter 的组件</div>;
};
相关推荐
最爱老式锅包肉43 分钟前
《HarmonyOS技术精讲-ArkWeb》桥接两岸:JSBridge原生与Web互调
前端·华为·harmonyos
IT_陈寒1 小时前
闭包陷阱让我加了两天班,JavaScript你真行
前端·人工智能·后端
踩着两条虫2 小时前
可视化 vs 终端 vs 云端:VTJ.PRO、Claude Code、Codex 三强横评
前端·vue.js·人工智能·低代码·架构
kyriewen2 小时前
Godot 全面封杀 Vibe Coding,作为每天用 AI 写代码的人,我反而觉得这是件好事
前端·ai编程·claude
前进的搬砖er2 小时前
4.three.js的几何体、纹理、光源、材质、uv属性 讲义
前端
前端毕业班2 小时前
uni-app 小程序支持 teleport 了
前端·javascript·vue.js
东风破_3 小时前
LLM 为什么记不住你?无状态、messages 和上下文管理
javascript·人工智能
梨子同志3 小时前
qiankun
前端
梨子同志3 小时前
Nginx
前端
梨子同志3 小时前
NestJS
前端