Предположим, пользователь должен ввести текст в поле, и если текст соответствует определенному шаблону, я отправляю его на другой маршрут. Как мне это сделать?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
Как указано в вопросе, я на 'v1.0.3', который по-прежнему по умолчанию по умолчанию на npm через' npm install --save response-router'. –
Не видел последний абзац. Похоже, эта случайная ссылка относится к версии 1.0.0 версии реагирующего маршрутизатора. В маршрутах узлов маршрутизатор теперь передает объект истории, доступный в ваших компонентах маршрутизатора, через 'this.props.history'. У этого объекта есть 'pushState'. router 1.0.0 довольно отличается от pre-1.0.0, поэтому, надеюсь, ссылки, которые вы нашли, не ссылаются на старые вещи! – Nathan
Кроме того - если вы хотите вызвать «историю» из немаршрутного компонента, вам необходимо передать объект истории в компонент. – Nathan