Как сделать доступы по ролям когда роуты прогружаются еще до появления user в редаксе и нет возможности проверить роль?
Как сделать доступы по ролям когда роуты прогружаются еще до появления user в редаксе и нет возможности проверить роль?
Получается user.role переменную с mapstatetoprops не могу проверить так как роуты первее прогружаются и я не могу определенный список определенному юзеру предоставить
const routes = [{
path: '/auth/login',
Component: lazy(() => import('pages/auth/login')),
exact: true,
},
<Switch location={location}>
<Route exact path="/" render={() => <Redirect to="/dashboard" />} />
{routes.map(({ path, Component, exact }) => (
<Route
path={path}
key={path}
exact={exact}
render={() => {
return (
<div className={routerAnimation}>
<Suspense fallback={null}>
<Component />
</Suspense>
</div>
)
}}
/>
))}
<Redirect to="/auth/404" />
</Switch>
Ответы (1 шт):
Автор решения: studyJs
→ Ссылка
Сделать приват роут, и в нем уже проверять проверять!
export default ({ component: Component, ...rest }) => (
<Route {...rest} render={props => (
isUserLogged() // тут проверить роль
? <Component {...props} />
: <Redirect to="" />
)} />
)