react-router JS 控制路由跳转实例


Posted in Javascript onJune 15, 2017

Link组件用于正常的用户点击跳转,但是有时还需要表单跳转、点击按钮跳转等操作。这些情况怎么跟React Router对接呢?
下面是一个表单。

<form onSubmit={this.handleSubmit}>
 <input type="text" placeholder="userName"/>
 <input type="text" placeholder="repo"/>
 <button type="submit">Go</button>
</form>

第一种方法是使用browserHistory.push

import { browserHistory } from 'react-router'

// ...
 handleSubmit(event) {
  event.preventDefault()
  const userName = event.target.elements[0].value
  const repo = event.target.elements[1].value
  const path = `/repos/${userName}/${repo}`
  browserHistory.push(path)
 },

第二种方法是使用context对象。

export default React.createClass({

 // ask for `router` from context
 contextTypes: {
  router: React.PropTypes.object
 },

 handleSubmit(event) {
  // ...
  this.context.router.push(path)
 },
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个可以随意添加多个序列的tag函数
Jul 21 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
利用JS hash制作单页Web应用的方法详解
Oct 10 Javascript
bootstrap轮播模板使用方法详解
Nov 17 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 Javascript
vue 清空input标签 中file的值操作
Jul 21 Javascript
javascript自定义加载loading效果
Sep 15 Javascript
Vue路由跳转问题记录详解
Jun 15 #Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 #Javascript
package.json文件配置详解
Jun 15 #Javascript
一次围绕setTimeout的前端面试经验分享
Jun 15 #Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 #Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 #Javascript
JavaScript实现选中文字提示新浪微博分享效果
Jun 15 #Javascript
You might like
PHP编码转换
2012/11/05 PHP
深入php list()函数的详解
2013/06/05 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
JavaScript中的Location地址对象
2008/01/16 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
python下MySQLdb用法实例分析
2015/06/08 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
python实现一次性封装多条sql语句(begin end)
2020/06/06 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
优秀毕业生求职信范文
2014/01/02 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
消防先进事迹材料
2014/02/10 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书