React - 一般组件 withRouter 的使用(让一般组件具备路由组件特有的API属性)

  • 一. withRouter 理解
  • 二. withRouter 使用

一. withRouter 理解

  1. withRouter 可以加工一般组件,让一般组件具备路由组件特有的 API 属性,会将historylocationmatch属性放到这个组件的props属性中。
  2. withRouter的返回值是一个新组件。

二. withRouter 使用

import React, { Component } from "react";
// 引入 withRouter
import { withRouter } from "react-router-dom";class Header extends Component {// 回退back = () => {this.props.history.goBack();};// 前进forward = () => {this.props.history.goForward();};// 向前或向后跳转制定步数go = (num) => {this.props.history.go(num);};render() {console.log(123,this.props);return (<div className="page-header"><h2>导航栏</h2><button onClick={this.back}>回退</button>&nbsp;<button onClick={this.forward}>前进</button>&nbsp;<button onClick={() => this.go(2)}>前进2步</button>&nbsp;<button onClick={() => this.go(-2)}>后退2步</button></div>);}
}
// withRouter 包裹 Header 组件
export default withRouter(Header);

React - 一般组件 withRouter 的使用(让一般组件具备路由组件特有的API属性)相关推荐

  1. React 路由组件 详解

    文章目录 路由组件 1.HashRouter和BrowserRouter 2.Route 3.Router 4.Link和NavLink 5.Redirect 6.Switch 7.withRoute ...

  2. reactjs通过lazy函数配合import函数动态加载路由组件

    路由组件的lazyLoad //1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包const Login = lazy(()=>i ...

  3. 路由组件的lazyLoad

    路由组件的lazyLoad //1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包 const Login = lazy(()=> ...

  4. 使用react 高阶组件withRouter

    使用react 高阶组件withRouter withRouter 是一个高阶组件,把 match,location,history 三个对象注入到组件的 props 中.这是一个非常实用的函数 re ...

  5. withRouter() 在非路由组件中使用路由库的api

    我们知道,在非路由组件中,是拿不到例如像  this.props.location.pathname 数据. 倘若我们想拿到类似这种路由数据,可以使用withRouter()将非路由组件包装成路由组件 ...

  6. React学习(6)—— 高阶应用:非受控组件

    为什么80%的码农都做不了架构师?>>>    非受控组件 使用非受控组件 在大部分情况下,推荐使用 受控组件 来实现表单.输入框等状态控制.在受控组件中,表单等数据都有React组 ...

  7. react组件放在数组中_为什么要在函数组件中使用React.memo?

    这里提一下,如果大家看到这个标题有所疑惑的话,可以花点时间看一下本篇文章.反之呢如果是看到标题第一时间就反映出结论的话,就可以去get其他文章的知识点了 那么接下来就不废话了,直接长刀直入,进入正题! ...

  8. react 组件怎么公用_React、Redux与复杂业务组件的复用

    All State In Redux 在上一篇文章[Redux的副作用处理与No-Reducer开发模式]中,我们介绍了如何使用Redux/Redux-Saga来进行组件的状态共享,以及副作用处理. ...

  9. React路由组件传递参数

    向路由组件传递参数 1.params参数路由链接(携带参数):<Link to='/demo/test/tom/18'}>详情</Link>注册路由(声明接收):<Rou ...

最新文章

  1. 在XtraGrid中自定义日期编辑控件的格式
  2. Windows上安装Apache
  3. 关于带资源部门的一些总结
  4. 计算机内存与内置类型,笔记本内存种类有哪些 笔记本常见内存类型介绍
  5. matlab学习笔记之常用命令(一)
  6. Oracle Schema Objects——Tables——TableType
  7. [BZOJ 3647]
  8. 哔哩哔哩修改视频速度
  9. 21.卷1(套接字联网API)---多播
  10. 谷歌浏览器无法同步问题解决方案
  11. 华为“天才少年”稚晖君又出新作,从零开始造“客制化”智能键盘
  12. 微信公众平台、微信开放平台、微信商户平台的区别
  13. 免费的易语言网络验证系统
  14. ios手机不兼容摇一摇功能
  15. 制作一个简单的网页(入门篇)
  16. tsx实现适配vue3的滚动列表插件
  17. Win7如何搜索文件内容
  18. mysql数据导入导出 CSV格式_导出mysql的数据为csv格式的文件
  19. win10打开蓝牙,蓝牙开关消失,蓝牙和其他设备设置,蓝牙开关不见了
  20. 和Bus365从政策聊到行业格局,二度梳理城际客运市场

热门文章

  1. 上海建桥学院计算机科学与技术排名,2020上海建桥学院王牌专业排行榜最好的优势专业有哪些...
  2. 苹果手机如何实现苹果微信分身多开
  3. python二维数组排序_Python排序多维数组
  4. keil5新建freertos工程
  5. linux如何查看树目录结构,Linux查看目录结构树之tree命令
  6. md5加密原理 MD5简介
  7. 软考电子商务设计师如何备考?
  8. php crypt,PHP加密函数—crypt()函数加密用法实例
  9. 事物并发读写的可能:幻影读-不可重复读-脏读
  10. wangeditor 请求头_WangEditor 使用案例