From c624b7a7b3f38ee5b277c5a1904c0b1fa58b2c11 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Fri, 12 Nov 2021 10:36:22 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=9C=A8=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E7=9A=84=E9=9D=A2=E6=9D=BF=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/components/Panel/common/Wrapper.tsx | 9 ++++++++- .../Panel/personal/ConversePanel.tsx | 3 +-- web/src/routes/Main/Content/PageContent.tsx | 19 +++++++++++++++---- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/web/src/components/Panel/common/Wrapper.tsx b/web/src/components/Panel/common/Wrapper.tsx index 35bf0ce7..3722c591 100644 --- a/web/src/components/Panel/common/Wrapper.tsx +++ b/web/src/components/Panel/common/Wrapper.tsx @@ -3,6 +3,7 @@ import { PanelCommonHeader } from '../common/Header'; import { Icon } from '@iconify/react'; import { Button } from 'antd'; import clsx from 'clsx'; +import { useIsMobile } from '@/hooks/useIsMobile'; interface RightPanelType { name: string; @@ -21,9 +22,15 @@ interface CommonPanelWrapperProps { export const CommonPanelWrapper: React.FC = React.memo( (props) => { const [rightPanel, setRightPanel] = useState(); + const isMobile = useIsMobile(); return ( -
+
{/* 主面板 */}
= React.memo((props) => { const { sidebar, children } = props; const { showSidebar, setShowSidebar } = useSidebarContext(); const isMobile = useIsMobile(); - const handleHideSidebar = useCallback(() => { - setShowSidebar(false); - }, []); + const handleHideSidebar = useCallback( + (e: React.MouseEvent) => { + e.stopPropagation(); + e.preventDefault(); + setShowSidebar(false); + }, + [] + ); useEffect(() => { if (isMobile === false) { @@ -86,7 +91,13 @@ export const PageContent: React.FC = React.memo((props) => { {sidebarEl}
{contentMaskEl}