react-router JS 控制路由跳轉(轉載)

Link組件用於正常的用戶點擊跳轉,可是有時還須要表單跳轉、點擊按鈕跳轉等操做。這些狀況怎麼跟React Router對接呢?javascript

下面是一個表單。java

<form onSubmit={this.handleSubmit}>
  <input type="text" placeholder="userName"/> <input type="text" placeholder="repo"/> <button type="submit">Go</button> </form> 

第一種方法是使用browserHistory.pushreact

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對象。react-router

export default React.createClass({  // ask for `router` from context contextTypes: { router: React.PropTypes.object }, handleSubmit(event) {  // ... this.context.router.push(path) }, })
相關文章
相關標籤/搜索