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查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
微信小程序 天气预报开发实例代码源码
Jan 20 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
May 07 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
May 07 Javascript
vscode下的vue文件格式化问题
Nov 28 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
Dec 12 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
Dec 13 Javascript
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
javascript实现商品图片放大镜
Nov 28 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目录函数实现创建、读取目录教程实例
2011/01/13 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
jQuery设计思想
2017/03/07 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
如何理解python面向对象编程
2020/06/01 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
公司JAVA开发面试题
2015/04/02 面试题
小学班长竞选演讲稿
2014/04/24 职场文书
教育读书笔记
2015/07/02 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis