AuthorizedRoute.js 542 B

123456789101112131415
  1. import React from 'react';
  2. import { Route, Redirect } from 'react-router-dom';
  3. import Authorized from './Authorized';
  4. // TODO: umi只会返回render和rest
  5. const AuthorizedRoute = ({ component: Component, render, authority, redirectPath, ...rest }) => (
  6. <Authorized
  7. authority={authority}
  8. noMatch={<Route {...rest} render={() => <Redirect to={{ pathname: redirectPath }} />} />}
  9. >
  10. <Route {...rest} render={props => (Component ? <Component {...props} /> : render(props))} />
  11. </Authorized>
  12. );
  13. export default AuthorizedRoute;