详解各版本React路由的跳转的方法


Posted in Javascript onMay 10, 2018

前言

React-Router已经发布了多个版本,利用路由导航的使用方法都不大一样,在这里总结一下。

React-Router 2.0.0 版本

2.0.0版本需要使用browserHistory进行跳转,具体参考一下代码:

import { browserHistory } from 'react-router'
browserHistory.push('/path')

React-Router 2.4.0版本以上

React-Router 2.4.0版本以上,可以通过mixin的方法,使组件增加this.router属性,然后进行相应的操作,具体mixin代码参考如下:

import { withRouter } from 'react-router';
clsss ABC extends Component {
}
module.exports = withRouter(ABC);

用过mixin的组件,会具有this.router的属性,只需要使用this.props.router.push('/path') 就可以跳转到相应的路由了。

React-Router 3.0.0版本以上

3.0.0版本以后不需要再手动mixin相关的router属性,在任何需要跳转的组件中写this.props.router.push('/path') 就可以跳转到响应的路由了。

React-Router 4.0版本以上

路由的跳转

React-Router 4.0对路由进行了改进,router属性改为了history属性,使用方法还是和3.0差不多,任何需要跳转的地方使用this.props.history.push('/path') 就可以进行跳转了

参数的获取

使用this.props.match.params.xxx 可以获取到当前路由的参数

总结

从以上的使用方法来看,react router的导航使用上变得越来越简单。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
JavaScript跨域方法汇总
Oct 16 Javascript
js实现宇宙星空背景效果的方法
Mar 03 Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 Javascript
js和jquery实现监听键盘事件示例代码
Jun 24 Javascript
详解Angular的双向数据绑定(MV-VM)
Dec 26 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
Oct 19 Javascript
通过实例解析jQ Ajax操作相关原理
Sep 23 Javascript
微信小程序学习之自定义滚动弹窗
Dec 20 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
Apr 19 Javascript
React路由管理之React Router总结
May 10 #Javascript
React从react-router路由上做登陆验证控制的方法
May 10 #Javascript
详解Angular路由之路由守卫
May 10 #Javascript
JavaScript实现一个简易的计算器实例代码
May 10 #Javascript
浅谈node.js 命令行工具(cli)
May 10 #Javascript
Js经典案例的实例代码
May 10 #Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
May 10 #Javascript
You might like
php使用curl获取https请求的方法
2015/02/11 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
js闭包实例汇总
2014/11/09 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
微信JS接口大全
2016/08/25 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python中类的定义、继承及使用对象实例详解
2015/04/30 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
优秀公益广告词大全
2014/03/19 职场文书
2014年节能工作总结
2014/12/18 职场文书
Python基本知识点总结
2022/04/07 Python
Docker官方工具docker-registry案例演示
2022/04/13 Servers
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL