UNPKG

crootfast

Version:

大前端工程化命令行脚手架

63 lines (56 loc) 2.27 kB
import { useEffect, useMemo } from "react"; import { useLocation } from 'react-router-dom'; import { returnRouterConfig } from "@/routers"; import routesConfig from "@/routers/routesConfig"; import routesComponent from "@/routers/routesComponent"; import { queryModuleFederation } from "@/stores/moduleFederation"; import styles from "./app.less"; import useReactive from "@/common/hooks/useReactive"; import { get } from "lodash-es"; export default function App(props = {}) { const AsyncProdsComponent = useMemo(() => { return queryModuleFederation("prods"); }, []); // const AsyncTempsComponent = useMemo(() => { // return queryModuleFederation("components"); // }, []); AsyncProdsComponent.useHistoryChange({ routesConfig: returnRouterConfig(routesConfig, routesComponent) }); const dataSourceMenus = useReactive({ sourceMenus: [] }); // useEffect(() => { // viewData.currentMenuId = get(viewData.menus, '0.pageId'); // return () => { }; // }, []); const { viewData } = AsyncProdsComponent.LayoutHeaderAndMenuLeft.useGetMenuViewData(dataSourceMenus.sourceMenus); // const location = useLocation() // useEffect(() => { // let CurPageId = get(viewData.menus, '0.pageId') // // todo 需要根据当前的路由匹配pageId // if (location.pathname) { // const pathArr = filter(location.pathname.split('/'), it => it) // CurPageId = find(menus, (it) => it.path === get(pathArr, '0.path'))?.pageId // } // viewData.currentMenuId = CurPageId // }, [location.pathname]); return ( <> <section className={`${styles.headerWrapper ?? ''}`}> <AsyncProdsComponent.LayoutHeaderAndMenuLeft.Header viewData={viewData} /> </section> <section className={`${styles.routerComponentWrapper ?? ''}`}> <AsyncProdsComponent.SwitchTabRoutes sourceMenus={dataSourceMenus.sourceMenus} /> </section> <section className={`df ${styles.viewportContentWrapper}`}> <div className="df leftMenuWrapper"> <AsyncProdsComponent.LayoutHeaderAndMenuLeft.Left viewData={viewData} /> </div> <div className="df oys contentWrapper"> <AsyncProdsComponent.TabRouterComponent /> </div> </section> </> ); }