码迷,mamicode.com
首页 > Web开发 > 详细

react-router JS 控制路由跳转(转载)

时间:2018-02-12 15:18:06      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:string   prevent   route   out   还需要   控制   tag   cti   script   

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)
  },
})

react-router JS 控制路由跳转(转载)

标签:string   prevent   route   out   还需要   控制   tag   cti   script   

原文地址:https://www.cnblogs.com/daiwenru/p/8444357.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!