import { useLocation, KeepAlive, history } from 'umi';
import { PageLoading, PageContainer } from '@ant-design/pro-layout';
export default function SwitchTabsLayout(props: RouteTabsLayoutProps): JSX.Element {
const { mode, loading, routes, children, ...rest } = props;
const location = useLocation() as H.Location;
const originalTabsRoutes = memoizedOneLocaleRoutes(routes!);
if (mode && isSwitchTab(location as any, originalTabsRoutes)) {
if (routes) {
return (
<SwitchTabs
mode={mode}
{...rest}
originalRoutes={originalTabsRoutes}
>
<PageContainer>
<KeepAlive
saveScrollPosition="screen"
id={history.location.search || history.location.pathname}
when={() => {
return history.action != 'POP';
}}
>
{children}
</KeepAlive>
</PageContainer>
</SwitchTabs>
);
}
}
return children;
}
···
