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

React-Router send user to another route

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

我一直在努力做:

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。我missing/doing哪里错了?我正在使用 react-router v1.0.3

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

Mixin 已经或多或少被 React 抛弃了。在 react-router 1.0.0 中,理想情况下完成重定向的方式是使用 history.pushState.

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