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 相关文章推荐
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
May 26 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
微信小程序富文本渲染引擎的详解
Sep 30 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
Angular2开发环境搭建教程之VS Code
Dec 15 Javascript
vue调试工具vue-devtools安装及使用方法
Nov 07 Javascript
vue中axios的二次封装实例讲解
Oct 14 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
PHP4实际应用经验篇(7)
2006/10/09 PHP
php mysql数据库操作分页类
2008/06/04 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
PHP CodeBase:将时间显示为&quot;刚刚&quot;&quot;n分钟/小时前&quot;的方法详解
2013/06/06 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python字典对象实现原理详解
2019/07/01 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技