import { Redirect , Route } from 'umi' ; import React from 'react' ; import Authorized from './Authorized' ; import { IAuthorityType } from './CheckPermissions' ; interface AuthorizedRouteProps { currentAuthority : string ; component : React . ComponentClass < any , any > ; render : ( props : any ) => React . ReactNode ; redirectPath : string ; authority : IAuthorityType ; } const AuthorizedRoute = ( { component : Component , render , authority , redirectPath , ... rest } ) => ( < Authorized authority = { authority } noMatch = { < Route { ... rest } render = { ( ) => < Redirect to = { { pathname : redirectPath } } />}/ > } > < Route { ... rest } render = { ( props ) => ( Component ? < Component { ... props } / > : render ( props ) ) } /> < /Authorized>); export default AuthorizedRoute ;