Я хочу перенаправить на домашний экран администратора после нажатия некоторого URL-адреса бэкэнд-службы независимо от ответа.
Я использовал Redirect модуля реакции-маршрутизатора-dom для выполнения этой задачи. Но я не получаю никакого экрана.
Компонент входа пользователя:
handleSubmit = async event => {
event.preventDefault();
const user = {
email: this.state.email,
password: this.state.password
};
await this.props.dispatch(authActiokns.authenticate(user.email, user.password));
return <Redirect exact to="/adminHome" />;
}
Компонент маршрута:
{
render() {
return (
<div>
<Header />
<Switch>
{
loggedIn
? <Route exact path="/adminHome" component={AdminHome}></Route>
: <Route exact path="/" component={Login}></Route>
}
</Switch>
<Footer />
</div>
);
}
}
function mapStateToProps(state) {
return { loggedIn: authSelectors.getLoginDetails(state).loggedIn }
}
В основном я хочу, чтобы пользователь показывал Компонент администратора после входа в систему, но только с использованием маршрута. Но вот еще одна часть этой проблемы. Я не должен возвращаться к экран входа в систему после успешного входа в систему, за исключением того, что пользователь выходит из системы вручную. Поэтому я хочу, чтобы перенаправил пользователя в админ-панель домой, если он нажал кнопку назад, и после выхода из системы, если он нажал кнопку пересылки. Я хочу, чтобы пользователь оставался на экране входа. Хотя я написал логику для этого ранее, это работало, но не в этом случае.