react-router JS 控制路由跳转实例

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 控制路由跳转实例 的全部内容, 来源链接: utcz.com/z/357737.html

回到顶部