11import { useMemo } from "react" ;
22import { ConfigProvider , Layout , theme } from "antd" ;
3- import { observer } from "mobx-react-lite" ;
43import { Link , useLocation } from "react-router-dom" ;
54
65import BreadCrumb from "&src/components/BreadCrumb" ;
76import { COLOR_PRIMARY , SPLIT_FLAG } from "&src/config" ;
8- import MobxContext from "&src/store/context" ;
9- import store from "&src/store/store" ;
7+ import useRootStore , { useGetRouterConfig } from "&src/store" ;
108import MenuHeader from "./header" ;
119import SiderCom from "./sider" ;
1210
@@ -67,15 +65,10 @@ function menuHandle(routerMenu: MenuItem[] = [], pathname: string): [string, str
6765 return [ tabId , menuId , sideMenu ] ;
6866}
6967
70- const AppLayout = observer ( ( { children } : { children : React . ReactNode } ) => {
68+ const AppLayout = ( { children } : { children : React . ReactNode } ) => {
7169 const { pathname } = useLocation ( ) ;
72- const {
73- isLogin,
74- darkMode,
75- userInfo,
76- routeAndMenu : { routerMenu } ,
77- routerPathMapping,
78- } = store ;
70+ const darkMode = useRootStore ( store => store . darkMode ) ;
71+ const { routerMenu, routerPathMapping } = useGetRouterConfig ( ) ;
7972
8073 // 获取当前选中 menu ID
8174 const [ tabId , menuId , sideMenu ] = useMemo ( ( ) => {
@@ -91,7 +84,7 @@ const AppLayout = observer(({ children }: { children: React.ReactNode }) => {
9184 < div className = { darkMode ? "dark" : "" } >
9285 < ConfigProvider theme = { currentThem } >
9386 < Layout >
94- < MenuHeader tabId = { tabId } tabList = { routerMenu } darkMode = { darkMode } userInfo = { userInfo } />
87+ < MenuHeader tabId = { tabId } tabList = { routerMenu } />
9588
9689 < Layout className = "h-[calc(100vh-3.5rem)] overflow-hidden" >
9790 { sideMenu . length ? < SiderCom selectKey = { menuId } menu = { sideMenu } /> : null }
@@ -100,16 +93,14 @@ const AppLayout = observer(({ children }: { children: React.ReactNode }) => {
10093 < Content className = "m-3 mb-0 mt-0" >
10194 < BreadCrumb routerPath = { routerPathMapping } />
10295
103- < div className = "h-[calc(100%-4.5rem)] overflow-auto" >
104- < MobxContext . Provider value = { { isLogin, userInfo } } > { children } </ MobxContext . Provider >
105- </ div >
96+ < div className = "h-[calc(100%-4.5rem)] overflow-auto" > { children } </ div >
10697 </ Content >
10798 </ Layout >
10899 </ Layout >
109100 </ Layout >
110101 </ ConfigProvider >
111102 </ div >
112103 ) ;
113- } ) ;
104+ } ;
114105
115106export default AppLayout ;
0 commit comments