React - 一般组件 withRouter 的使用(让一般组件具备路由组件特有的API属性)
React - 一般组件 withRouter 的使用(让一般组件具备路由组件特有的API属性)
- 一. withRouter 理解
- 二. withRouter 使用
一. withRouter 理解
withRouter
可以加工一般组件,让一般组件具备路由组件特有的 API 属性,会将history
,location
,match
属性放到这个组件的props
属性中。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> <button onClick={this.forward}>前进</button> <button onClick={() => this.go(2)}>前进2步</button> <button onClick={() => this.go(-2)}>后退2步</button></div>);}
}
// withRouter 包裹 Header 组件
export default withRouter(Header);
React - 一般组件 withRouter 的使用(让一般组件具备路由组件特有的API属性)相关推荐
- React 路由组件 详解
文章目录 路由组件 1.HashRouter和BrowserRouter 2.Route 3.Router 4.Link和NavLink 5.Redirect 6.Switch 7.withRoute ...
- reactjs通过lazy函数配合import函数动态加载路由组件
路由组件的lazyLoad //1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包const Login = lazy(()=>i ...
- 路由组件的lazyLoad
路由组件的lazyLoad //1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包 const Login = lazy(()=> ...
- 使用react 高阶组件withRouter
使用react 高阶组件withRouter withRouter 是一个高阶组件,把 match,location,history 三个对象注入到组件的 props 中.这是一个非常实用的函数 re ...
- withRouter() 在非路由组件中使用路由库的api
我们知道,在非路由组件中,是拿不到例如像 this.props.location.pathname 数据. 倘若我们想拿到类似这种路由数据,可以使用withRouter()将非路由组件包装成路由组件 ...
- React学习(6)—— 高阶应用:非受控组件
为什么80%的码农都做不了架构师?>>> 非受控组件 使用非受控组件 在大部分情况下,推荐使用 受控组件 来实现表单.输入框等状态控制.在受控组件中,表单等数据都有React组 ...
- react组件放在数组中_为什么要在函数组件中使用React.memo?
这里提一下,如果大家看到这个标题有所疑惑的话,可以花点时间看一下本篇文章.反之呢如果是看到标题第一时间就反映出结论的话,就可以去get其他文章的知识点了 那么接下来就不废话了,直接长刀直入,进入正题! ...
- react 组件怎么公用_React、Redux与复杂业务组件的复用
All State In Redux 在上一篇文章[Redux的副作用处理与No-Reducer开发模式]中,我们介绍了如何使用Redux/Redux-Saga来进行组件的状态共享,以及副作用处理. ...
- React路由组件传递参数
向路由组件传递参数 1.params参数路由链接(携带参数):<Link to='/demo/test/tom/18'}>详情</Link>注册路由(声明接收):<Rou ...
最新文章
- 在XtraGrid中自定义日期编辑控件的格式
- Windows上安装Apache
- 关于带资源部门的一些总结
- 计算机内存与内置类型,笔记本内存种类有哪些 笔记本常见内存类型介绍
- matlab学习笔记之常用命令(一)
- Oracle Schema Objects——Tables——TableType
- [BZOJ 3647]
- 哔哩哔哩修改视频速度
- 21.卷1(套接字联网API)---多播
- 谷歌浏览器无法同步问题解决方案
- 华为“天才少年”稚晖君又出新作,从零开始造“客制化”智能键盘
- 微信公众平台、微信开放平台、微信商户平台的区别
- 免费的易语言网络验证系统
- ios手机不兼容摇一摇功能
- 制作一个简单的网页(入门篇)
- tsx实现适配vue3的滚动列表插件
- Win7如何搜索文件内容
- mysql数据导入导出 CSV格式_导出mysql的数据为csv格式的文件
- win10打开蓝牙,蓝牙开关消失,蓝牙和其他设备设置,蓝牙开关不见了
- 和Bus365从政策聊到行业格局,二度梳理城际客运市场
热门文章
- 上海建桥学院计算机科学与技术排名,2020上海建桥学院王牌专业排行榜最好的优势专业有哪些...
- 苹果手机如何实现苹果微信分身多开
- python二维数组排序_Python排序多维数组
- keil5新建freertos工程
- linux如何查看树目录结构,Linux查看目录结构树之tree命令
- md5加密原理 MD5简介
- 软考电子商务设计师如何备考?
- php crypt,PHP加密函数—crypt()函数加密用法实例
- 事物并发读写的可能:幻影读-不可重复读-脏读
- wangeditor 请求头_WangEditor 使用案例