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 相关文章推荐
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
document.all的一个比较完整的总结及案例
Jan 31 Javascript
jQuery.holdReady()使用方法
May 20 Javascript
深入浅出理解javaScript原型链
May 09 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
js设置随机切换背景图片的简单实例
Nov 12 Javascript
详解ES6语法之可迭代协议和迭代器协议
Jan 13 Javascript
Vue中computed与methods的区别详解
Mar 24 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 Javascript
vue实现移动端div拖动效果
Mar 03 Vue.js
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函数实现从一个文本字符串中提取关键字的方法
2015/07/01 PHP
3种方法轻松处理php开发中emoji表情的问题
2016/07/18 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
jQuery动态创建元素以及追加节点的实现方法
2016/10/20 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
node使用request请求的方法
2019/12/20 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
python 如何快速复制序列
2020/09/07 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
Python调用Redis的示例代码
2020/11/24 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
厂区绿化方案
2014/05/08 职场文书
文秘应届生求职信
2014/07/05 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
房屋过户委托书范本
2014/10/07 职场文书
刑事申诉状范文
2015/05/20 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python