PublicRoute.tsx 565 B

1234567891011121314151617181920212223
  1. import { Route, Redirect } from 'react-router-dom';
  2. import { useSelector } from 'react-redux';
  3. import { IPublicProps } from '../../../typescript/components/Routes/interfaces';
  4. import { getToken } from '../../../redux/authorization/selector'
  5. function PublicRoute({
  6. children,
  7. restricted = false,
  8. ...routeProps
  9. }: IPublicProps) {
  10. const token = useSelector(getToken)
  11. const shouldRedirect = token && restricted;
  12. return (
  13. <Route {...routeProps}>
  14. {shouldRedirect ? <Redirect to="/" /> : children}
  15. </Route>
  16. );
  17. }
  18. export default PublicRoute;