React-Router - Uncaught TypeError: Не удается прочитать свойство getCurrentLocation из undefined - программирование
Подтвердить что ты не робот

React-Router - Uncaught TypeError: Не удается прочитать свойство getCurrentLocation из undefined

Я использую последнюю версию react-router (версия ^ 3.0.0).

Я написал следующую маршрутизацию с помощью ES5:

routes.js:

var React = require("react");
var Router = require("react-router");
var AuthorPage = require('./components/authors/authorPage')
var App = require('./components/app')
var Route = Router.Route;

var routes = (
    <Route path="/" component={App}>
        <Route path="authors" component={AuthorPage}/>
     </Route>
);

module.exports = routes;

В другом JS файле с именем main.js я выполняю следующий вызов:

main.js:

var React= require("react");
var ReactDom = require("react-dom");
var Router = require('react-router').Router;
var routes = require('./routes');
ReactDom.render(<Router routes={routes}></Router>, document.getElementById('app'));

Когда я запускаю код, я получаю следующее исключение в инструментах разработчика Google Chrome:

Uncaught TypeError: невозможно прочитать свойство getCurrentLocation undefined

Почему? Что мне не хватает?

4b9b3361

Ответ 1

Вы не передаете историю своим <Router>.

Ознакомьтесь с историей документации для получения дополнительной информации.

Ответ 2

Имел ту же ошибку, решил ее так:

Добавить

var hashHistory = ReactRouter.hashHistory;

И в наборе Router история равна hashHistory

<Router history={hashHistory}>

Итак, в вашем случае:

var routes = (
<Router history={hashHistory}>
    <Route path="/" component={App}>
        <Route path="authors" component={AuthorPage}/>
     </Route>
</Router>
);