import React from 'react'; import { __RouterContext as RouterContext } from 'react-router'; import { ConnectState } from '@/common/types/connect'; import { useSelector } from 'umi'; import { getSelectedRoute, SelectedRoute } from '@/utils/route'; const useRoute = (): SelectedRoute => { const { routes = [] } = useSelector((state: ConnectState) => state.app); const { location: { pathname } } = React.useContext(RouterContext); const currentRoute = getSelectedRoute(routes, pathname); return currentRoute; }; export const useRoutes = (paths: string[] = []): SelectedRoute[] => { const { routes = [] } = useSelector((state: ConnectState) => state.app); return paths.map((p) => getSelectedRoute(routes, p)); }; export default useRoute;