From 66eb9d592767dab82d3fbedd7a647ebd89e6e690 Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 14 Mar 2025 00:31:40 +0800 Subject: [PATCH] . --- apps/blogai/components/footer.tsx | 61 +++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/apps/blogai/components/footer.tsx b/apps/blogai/components/footer.tsx index c29b17e..d0f698a 100644 --- a/apps/blogai/components/footer.tsx +++ b/apps/blogai/components/footer.tsx @@ -126,36 +126,65 @@ export function Footer({ className, ...props }: React.ComponentProps<'p'>) { windowHeight: number; } - const isWindow = typeof window !== "undefined" - - //console.log("isWindow ", isWindow) - const [windowSize, setWindowSize] = useState({ - windowWidth: window.innerWidth, - windowHeight: window.innerHeight + windowWidth: 0, + windowHeight: 0 }); - + useEffect(() => { - - if (isWindow) { + // 确保仅在客户端执行 + if (typeof window !== "undefined") { const handleResize = () => { - - console.log(window.innerWidth, window.innerHeight) setWindowSize({ windowWidth: window.innerWidth, windowHeight: window.innerHeight }); }; - - window.addEventListener('resize', handleResize); - + + // 初始执行一次 + handleResize(); + + // 监听 window resize 事件 + window.addEventListener("resize", handleResize); + return () => { - window.removeEventListener('resize', handleResize); + // 清理事件监听 + window.removeEventListener("resize", handleResize); }; } - }, []); + + // const isWindow = typeof window !== "undefined" + + // //console.log("isWindow ", isWindow) + + // const [windowSize, setWindowSize] = useState({ + // windowWidth: window.innerWidth, + // windowHeight: window.innerHeight + // }); + + // useEffect(() => { + + // if (isWindow) { + // const handleResize = () => { + + // console.log(window.innerWidth, window.innerHeight) + // setWindowSize({ + // windowWidth: window.innerWidth, + // windowHeight: window.innerHeight + // }); + // }; + + // window.addEventListener('resize', handleResize); + + // return () => { + // window.removeEventListener('resize', handleResize); + // }; + // } + + // }, []); + return (