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)
 },
})
 
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。