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 :nth-child前有无空格的区别分析
Jul 11 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
纯Javascript实现ping功能的方法
Mar 20 Javascript
有关Promises异步问题详解
Nov 13 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
Nov 21 Javascript
Angular实现搜索框及价格上下限功能
Jan 19 Javascript
javascript显示动态时间的方法汇总
Jul 06 Javascript
前端开发基础javaScript的六大作用
Aug 06 Javascript
微信小程序使用前置摄像头拍照
Oct 22 Javascript
实现AJAX异步调用和局部刷新的基本步骤
Mar 17 Javascript
JS实现九宫格拼图游戏
Jun 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
玩转虚拟域名◎+ .
2006/10/09 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
Javascript - HTML的request类
2006/07/15 Javascript
js Flash插入函数免激活代码
2009/03/31 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
遗传算法之Python实现代码
2017/10/10 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
Python异常处理知识点总结
2019/02/18 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python实现最速下降法
2020/03/24 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
幼儿园教学管理制度
2014/02/04 职场文书
关键在于落实心得体会
2014/09/03 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
支教个人总结
2015/03/04 职场文书
2016年元旦主持词
2015/07/06 职场文书
好人好事新闻稿
2015/07/17 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏