React-Router将用户发送到另一条路由

时间:2015-12-30 22:40:53

标签: react-router

假设用户必须在框中输入一些文本,如果文本与某个模式匹配,我会将它们发送到另一条路线。我该怎么做?

我一直在尝试:

import React from 'react';
import { Navigation } from 'react-router';

React.createClass({
  mixins: [Navigation],
  handleChange () {
     if(...) {
       this.transitionTo('someRoute', {id: 10});
     }
  },
  render () {
    <input ... onChange={this.handleChange} >
  }
});

然而,我一直收到错误:

Uncaught TypeError: this.transitionTo is not a function

我无法在文档中找到任何明确的内容,上面的示例来自a random link I found while Googling。我错过了什么/做错了什么?我正在使用react-router v1.0.3

1 个答案:

答案 0 :(得分:1)

您使用的是什么版本的反应路由器?

Mixin或多或少被反应放弃了。在react-router 1.0.0中,理想情况下,完成重定向的方法是使用history.pushState

Rackt团队最近刚刚发布了2.0.0的rc版本。看起来您现在需要在路由器实例中手动包含历史记录 - 但它并没有太大的不同。 Check out the upgrade guide