页面初始化优化

This commit is contained in:
禺狨 2023-06-08 18:16:18 +08:00
parent e04d63125a
commit c2420798d2

View File

@ -22,6 +22,33 @@ export const InitPage = (props: Props) => {
const [showHeader, setShowHeader] = useState<boolean>(true); const [showHeader, setShowHeader] = useState<boolean>(true);
const [showNoHeader, setShowNoHeader] = useState<boolean>(false); const [showNoHeader, setShowNoHeader] = useState<boolean>(false);
const [showFooter, setShowFooter] = useState<boolean>(true); const [showFooter, setShowFooter] = useState<boolean>(true);
const [init, setInit] = useState<boolean>(false);
useEffect(() => {
if (pathname) {
if (pathname === "/login") {
setShowNoHeader(true);
setShowHeader(false);
setShowFooter(false);
} else if (!params.hourId) {
setShowNoHeader(false);
setShowHeader(true);
setShowFooter(true);
} else {
setShowNoHeader(false);
setShowHeader(false);
setShowFooter(false);
}
}
return () => {
// 组件卸载时,清除定时器
setShowNoHeader(false);
setShowHeader(true);
setShowFooter(true);
};
}, [pathname, params]);
useEffect(() => {
if (props.loginData) { if (props.loginData) {
dispatch(loginAction(props.loginData)); dispatch(loginAction(props.loginData));
} }
@ -53,34 +80,19 @@ export const InitPage = (props: Props) => {
}; };
dispatch(saveConfigAction(config)); dispatch(saveConfigAction(config));
} }
setInit(true);
useEffect(() => { }, [props]);
setShowHeader(true);
setShowNoHeader(false);
setShowFooter(true);
if (pathname === "/login") {
setShowNoHeader(true);
setShowHeader(false);
setShowFooter(false);
} else if (!params.hourId) {
setShowNoHeader(false);
setShowHeader(true);
setShowFooter(true);
} else {
setShowNoHeader(false);
setShowHeader(false);
setShowFooter(false);
}
}, [pathname, params]);
return ( return (
<> <>
{init && (
<div> <div>
{showNoHeader && <NoHeader></NoHeader>} {showNoHeader && <NoHeader></NoHeader>}
{showHeader && <Header></Header>} {showHeader && <Header></Header>}
<Outlet /> <Outlet />
{showFooter && <Footer></Footer>} {showFooter && <Footer></Footer>}
</div> </div>
)}
</> </>
); );
}; };