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示例
Aug 29 Javascript
node.js中的fs.truncateSync方法使用说明
Dec 15 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
Mar 13 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
详解JS中遍历语法的比较
Apr 07 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
May 11 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
Jul 05 Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 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 $_SERVER当前完整url的写法
2009/11/12 PHP
php购物网站支付paypal使用方法
2010/11/28 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Numpy之random函数使用学习
2019/01/29 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
特步官方商城:Xtep
2017/03/21 全球购物
英国著名书店:Foyles
2018/12/01 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
请说出几个常用的异常类
2013/01/08 面试题
解释一下钝化(Swap out)
2016/12/26 面试题
创新型城市实施方案
2014/03/06 职场文书
党员一句话承诺大全
2014/03/28 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
同学聚会开幕词
2019/04/02 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python