Я новичок в реактиве и надеюсь, что кто-то может пролить свет на то, почему это происходит и как его отлаживать.React Router не может получить/зависит от функции onEnter
Я следующие маршруты определены:
export default (withHistory, onUpdate) => {
const history = withHistory?
(Modernizr.history ?
new BrowserHistory
: new HashHistory)
: null;
return (
<Router history={history}>
<Route path='/login' component={Login} />
<Route path='/' component={Home} onEnter={requireAuth} />
</Router>
);
};
requireAuth
должен проверить, если пользователь вошел в систему и перенаправить их на страницу входа в систему, если нет:
function requireAuth(nextState, transition) {
transition.to("/login");
}
Если я оставить transtion.to
Войдите в систему и перейдите к корневому URL-адресу. Я просто вижу сообщение, в котором говорится: «Can not Get /» без сообщений об ошибках в отладчике. Помещение точки останова на этой линии, похоже, ничего не делает.
Что особенно странно в том, что если я заменил transition.to(...)
на инструкцию debugger;
, тогда метод вызывается и маршрутизация работает отлично.
Должно быть, у меня есть недоразумение, какие-то идеи о том, что это такое?
Редактировать: Я должен добавить, что переход на host:port/login
отлично работает, поэтому я знаю, что работает маршрут login
.
Какая версия реактивного маршрутизатора? 1.x? – walkerrandophsmith
Я использую версию 1.0.0-бета3 реактивного маршрутизатора. Я попытался обновить версию, которую я использовал, но в итоге я решил ее проще. – shieldstroy