Вот мой код маршрутизатора, поэтому есть два типа пользователей и маршруты в соответствии с ними.
Сначала я проверяю, является ли он аутентифицированным пользователем или нет.
Административные маршруты
adminRoutes() {
return (
<Switch>
<Route exact path="/dashboard" component={DashboardPage} />
<Route exact path="/videos" component={AdminVideo} />
<Redirect to="/dashboard" />
</Switch>
);
}
Маршруты входа
loginRoutes() {
return <Switch>
<Route exact path="/" component={LandingPage} />
<Redirect to="/" />
</Switch>
}
Маршруты пользователя
userRoutes() {
return <Switch>
<Route exact path="/dashboard" component={teacher} />
<Redirect to="/dashboard" />
</Switch>
}
checkForRoutes() {
if (this.props.isAuthenticatedUser) {
if (this.props.userType === 1) {
return this.adminRoutes(); // admin
} else if (this.props.userType === 2) {
return this.userRoutes(); // user
}
} else {
return this.loginRoutes();
}
}
метод визуализации компонента
render() {
return (
<BrowserRouter>
{this.checkForRoutes()}
</BrowserRouter>
);
}
Поэтому, когда я вошел в системукак администратор и перейдите к / videos и перезагрузите страницу, она изменит URL на / dashboard
Пожалуйста, предоставьте мне решение, которое я пробовал несколько раз, но у меня не работает.