AuthorizedRoute.js 744 B

1234567891011121314151617181920212223242526272829303132333435
  1. import React from 'react';
  2. import { Route, Redirect } from 'react-router-dom';
  3. import Authorized from './Authorized';
  4. class AuthorizedRoute extends React.Component {
  5. render() {
  6. const {
  7. component: Component,
  8. render,
  9. authority,
  10. redirectPath,
  11. ...rest
  12. } = this.props;
  13. return (
  14. <Authorized
  15. authority={authority}
  16. noMatch={
  17. <Route
  18. {...rest}
  19. render={() => <Redirect to={{ pathname: redirectPath }} />}
  20. />
  21. }
  22. >
  23. <Route
  24. {...rest}
  25. render={props =>
  26. (Component ? <Component {...props} /> : render(props))
  27. }
  28. />
  29. </Authorized>
  30. );
  31. }
  32. }
  33. export default AuthorizedRoute;