У меня есть компонент знака, который должен быть доступен для пользователей, не прошедших проверку подлинности. И сразу после аутентификации этот компонент должен стать недоступным.
var routes = (
<Route handler={App}>
<Route name="signIn" handler={signIn}/>
{/* redirect, if user is already authenticated */}
{ localStorage.userToken ? (
<Redirect from="signIn" to="/user"/>
) : null
}
</Route>
);
Router.run(routes, (Handler, state) => {
React.render(<Handler {...state}/>, document.getElementById('main'));
});
Этот код отлично работает, если пользователь перезагрузил webapp по какой-либо причине после аутентификации, но, конечно же, это не так, если пользователь не перезагрузил webapp.
Я попытался использовать this.context.router.transitionTo
прямо к компоненту SignUp, но он работает ужасно - компонент получает визуализацию, затем выполняется script.
Итак, я хочу добавить перенаправление прямо в переменную маршрутов, чтобы перенаправить маршрутизатор, даже не пытаясь отобразить компонент.