Разница между context.history.push и context.router.transition - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь перенаправить на другую страницу с помощью метода компонента класса.

Я пытался использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...