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压缩工具 yuicompressor 使用教程
Mar 31 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
Jul 11 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
javascript实现的固定位置悬浮窗口实例
Apr 30 Javascript
jQuery 选择器(61种)整理总结
Sep 26 Javascript
Javascript中arguments对象的详解与使用方法
Oct 04 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
详解Vue内部怎样处理props选项的多种写法
Nov 06 Javascript
前端Vue项目详解--初始化及导航栏
Jun 24 Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 Javascript
js实现无缝轮播图效果
Mar 09 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
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP处理会话函数大总结
2015/08/05 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
python测试mysql写入性能完整实例
2018/01/18 Python
在python中做正态性检验示例
2019/12/09 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
HTML5 与 XHTML2
2008/10/17 HTML / CSS
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
网上卖盒饭创业计划书范文
2014/02/07 职场文书
超越自我演讲稿
2014/05/21 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
故宫英文导游词
2015/01/31 职场文书
MySQL数据库简介与基本操作
2022/05/30 MySQL