升级Umi 4之后Wrappers里无法获取routers信息
//升级到umi4之前,可以通过如下方式获取
export default (props: IRouteComponentProps) => {
const { initialState } = useModel('@@initialState');
const { currentUser } = initialState || {};
const { children, route } = props; //use route do something };
//但是我升级到umi4之后,这个props无论怎么获取都是空的,我已经尝试了如下方式:
export default (props: any) => { }
//也尝试了使用 const props = useOutletContext ();
//所以,umi4 中我应该怎么做才能在wrappers中获取到当前route的信息
现在通过useLocation, matchRoutes, useAppData或直接使用useSelectedRoutes
import { Link, Outlet, useLocation, matchRoutes, useAppData } from "umi";
import styles from "./index.less";
export default function Layout() {
const location = useLocation();
const { clientRoutes } = useAppData();
const routes = matchRoutes(clientRoutes, location.pathname);
return (
<div className={styles.navs}>
<Outlet/> //router 6
</div>
);
}