Я пытаюсь перенаправить на другую страницу с помощью метода компонента класса.
Я пытался использовать context.history.push () и context.router.transitionTo ().Оба из них дают мне ту же ошибку.Каковы их различия и каков наилучший способ перенаправления на другую страницу с помощью метода / функции?
import React, { Component } from "react";
import { getName } from "../helpers";
class HousePicker extends Component {
goToHouse(event) {
event.preventDefault();
// first grab the text from the box
const houseId = this.houseInput.value;
// send we're going to transition from / to /house/:houseId
this.context.history.push(`/house/${houseId}`);
// this.context.router.transitionTo({pathname: `/house/${houseId}`});
}
render() {
return (
<form className="house-selector" onSubmit={this.goToHouse.bind(this)}>
<h2>Please Enter A House</h2>
<input type="text" required
placeholder="House Name"
defaultValue={getName()}
ref={(input) => this.houseInput = input}
/>
<button type="submit">Visit House →</button>
</form>
);
}
}
HousePicker.contextTypes = {
router: React.PropTypes.object,
history: React.PropTypes.object
};
export default HousePicker;
Получается ошибка как для context.history.push (), так и context.router.transitionTo()
Uncaught TypeError: Cannot read property 'locationsAreEqual' of undefined