详解各版本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 相关文章推荐
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 Javascript
Jquery实现自定义tooltip示例代码
Feb 12 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
JS Ajax请求如何防止重复提交
Jun 13 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
Vue 父子组件、组件间通信
Mar 08 Javascript
JS数组交集、并集、差集的示例代码
Aug 23 Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 Javascript
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
Vue插件之滑动验证码
Sep 21 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
Apr 16 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
使用C++扩展Python的功能详解
2018/01/12 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
出纳岗位职责
2013/11/09 职场文书
工作会议欢迎词
2014/01/16 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
感谢师恩主题班会
2015/08/17 职场文书
教师听课学习心得体会
2016/01/15 职场文书
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL