From f9ee1970864730d4ac7a30c06ad6758cbb429463 Mon Sep 17 00:00:00 2001 From: Mikuisnotavailable Date: Sat, 10 Jan 2026 09:23:24 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E8=B7=9F=E9=9A=8F=E5=85=83=E7=B4=A0=E6=80=A7=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=98=B2=E6=8A=96=E5=92=8CGPU=E5=8A=A0?= =?UTF-8?q?=E9=80=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/page.tsx | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 2a10a68..08e1df0 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -23,11 +23,23 @@ export default function Home() { const [isHovered, setIsHovered] = useState(false); useEffect(() => { + // 添加防抖处理,减少状态更新频率 + let timeoutId: NodeJS.Timeout; + const handleMouseMove = (e: MouseEvent) => { - setMousePosition({ x: e.clientX, y: e.clientY }); + // 使用防抖,每16ms更新一次(约60fps) + clearTimeout(timeoutId); + timeoutId = setTimeout(() => { + setMousePosition({ x: e.clientX, y: e.clientY }); + }, 16); }; + window.addEventListener('mousemove', handleMouseMove); - return () => window.removeEventListener('mousemove', handleMouseMove); + + return () => { + window.removeEventListener('mousemove', handleMouseMove); + clearTimeout(timeoutId); + }; }, []); const features = [ @@ -71,11 +83,10 @@ export default function Home() {
-- 2.49.1 From fb8ae43083f20d18fc8be9812b4901de0f0b213d Mon Sep 17 00:00:00 2001 From: Mikuisnotavailable Date: Sat, 10 Jan 2026 09:40:42 +0800 Subject: [PATCH 2/6] fix: correct timeout type for browser environment --- src/app/page.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 08e1df0..8aedd11 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -24,12 +24,12 @@ export default function Home() { useEffect(() => { // 添加防抖处理,减少状态更新频率 - let timeoutId: NodeJS.Timeout; + let timeoutId: number | undefined; const handleMouseMove = (e: MouseEvent) => { // 使用防抖,每16ms更新一次(约60fps) clearTimeout(timeoutId); - timeoutId = setTimeout(() => { + timeoutId = window.setTimeout(() => { setMousePosition({ x: e.clientX, y: e.clientY }); }, 16); }; @@ -38,7 +38,9 @@ export default function Home() { return () => { window.removeEventListener('mousemove', handleMouseMove); - clearTimeout(timeoutId); + if (timeoutId) { + clearTimeout(timeoutId); + } }; }, []); -- 2.49.1 From bb5d3751d47d23a55a63a42503a952d72eaa33dc Mon Sep 17 00:00:00 2001 From: uNagi Date: Sat, 10 Jan 2026 09:43:04 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20src/app/page.tsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/page.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 8aedd11..7c3d7d2 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -23,11 +23,9 @@ export default function Home() { const [isHovered, setIsHovered] = useState(false); useEffect(() => { - // 添加防抖处理,减少状态更新频率 let timeoutId: number | undefined; const handleMouseMove = (e: MouseEvent) => { - // 使用防抖,每16ms更新一次(约60fps) clearTimeout(timeoutId); timeoutId = window.setTimeout(() => { setMousePosition({ x: e.clientX, y: e.clientY }); @@ -87,7 +85,6 @@ export default function Home() {
-- 2.49.1 From f84e5e4d2416933a23a74eedd6fc8d5781b5eeaa Mon Sep 17 00:00:00 2001 From: Mikuisnotavailable Date: Sat, 10 Jan 2026 10:09:45 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=8D=87?= =?UTF-8?q?=E7=BA=A7React=E5=92=8CNext.js=E7=89=88=E6=9C=AC=E4=BF=AE?= =?UTF-8?q?=E5=A4=8DCVE-2025-55182=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 100 +++++++++++++++++++++++----------------------- package.json | 6 +-- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4de7cdf..a14f1fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,11 +15,11 @@ "@types/three": "^0.181.0", "framer-motion": "^12.23.25", "lucide-react": "^0.555.0", - "next": "16.0.7", + "next": "^16.1.1", "next-auth": "^4.24.13", "prisma": "^7.1.0", - "react": "19.2.0", - "react-dom": "19.2.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", "skinview3d": "^3.4.1", "three": "^0.181.2" }, @@ -1296,9 +1296,9 @@ } }, "node_modules/@next/env": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/env/-/env-16.0.7.tgz", - "integrity": "sha512-gpaNgUh5nftFKRkRQGnVi5dpcYSKGcZZkQffZ172OrG/XkrnS7UBTQ648YY+8ME92cC4IojpI2LqTC8sTDhAaw==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/env/-/env-16.1.1.tgz", + "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { @@ -1312,9 +1312,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.7.tgz", - "integrity": "sha512-LlDtCYOEj/rfSnEn/Idi+j1QKHxY9BJFmxx7108A6D8K0SB+bNgfYQATPk/4LqOl4C0Wo3LACg2ie6s7xqMpJg==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz", + "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==", "cpu": [ "arm64" ], @@ -1328,9 +1328,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.7.tgz", - "integrity": "sha512-rtZ7BhnVvO1ICf3QzfW9H3aPz7GhBrnSIMZyr4Qy6boXF0b5E3QLs+cvJmg3PsTCG2M1PBoC+DANUi4wCOKXpA==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz", + "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==", "cpu": [ "x64" ], @@ -1344,9 +1344,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.7.tgz", - "integrity": "sha512-mloD5WcPIeIeeZqAIP5c2kdaTa6StwP4/2EGy1mUw8HiexSHGK/jcM7lFuS3u3i2zn+xH9+wXJs6njO7VrAqww==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz", + "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==", "cpu": [ "arm64" ], @@ -1360,9 +1360,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.7.tgz", - "integrity": "sha512-+ksWNrZrthisXuo9gd1XnjHRowCbMtl/YgMpbRvFeDEqEBd523YHPWpBuDjomod88U8Xliw5DHhekBC3EOOd9g==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz", + "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==", "cpu": [ "arm64" ], @@ -1376,9 +1376,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.7.tgz", - "integrity": "sha512-4WtJU5cRDxpEE44Ana2Xro1284hnyVpBb62lIpU5k85D8xXxatT+rXxBgPkc7C1XwkZMWpK5rXLXTh9PFipWsA==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz", + "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==", "cpu": [ "x64" ], @@ -1392,9 +1392,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.7.tgz", - "integrity": "sha512-HYlhqIP6kBPXalW2dbMTSuB4+8fe+j9juyxwfMwCe9kQPPeiyFn7NMjNfoFOfJ2eXkeQsoUGXg+O2SE3m4Qg2w==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz", + "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==", "cpu": [ "x64" ], @@ -1408,9 +1408,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.7.tgz", - "integrity": "sha512-EviG+43iOoBRZg9deGauXExjRphhuYmIOJ12b9sAPy0eQ6iwcPxfED2asb/s2/yiLYOdm37kPaiZu8uXSYPs0Q==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz", + "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==", "cpu": [ "arm64" ], @@ -1424,9 +1424,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.7.tgz", - "integrity": "sha512-gniPjy55zp5Eg0896qSrf3yB1dw4F/3s8VK1ephdsZZ129j2n6e1WqCbE2YgcKhW9hPB9TVZENugquWJD5x0ug==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz", + "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==", "cpu": [ "x64" ], @@ -3011,7 +3011,6 @@ "version": "2.9.0", "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.9.0.tgz", "integrity": "sha512-Mh++g+2LPfzZToywfE1BUzvZbfOY52Nil0rn9H1CPC5DJ7fX+Vir7nToBeoiSbB1zTNeGYbELEvJESujgGrzXw==", - "dev": true, "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.js" @@ -5981,13 +5980,14 @@ "license": "MIT" }, "node_modules/next": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/next/-/next-16.0.7.tgz", - "integrity": "sha512-3mBRJyPxT4LOxAJI6IsXeFtKfiJUbjCLgvXO02fV8Wy/lIhPvP94Fe7dGhUgHXcQy4sSuYwQNcOLhIfOm0rL0A==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/next/-/next-16.1.1.tgz", + "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==", "license": "MIT", "dependencies": { - "@next/env": "16.0.7", + "@next/env": "16.1.1", "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" @@ -5999,14 +5999,14 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.0.7", - "@next/swc-darwin-x64": "16.0.7", - "@next/swc-linux-arm64-gnu": "16.0.7", - "@next/swc-linux-arm64-musl": "16.0.7", - "@next/swc-linux-x64-gnu": "16.0.7", - "@next/swc-linux-x64-musl": "16.0.7", - "@next/swc-win32-arm64-msvc": "16.0.7", - "@next/swc-win32-x64-msvc": "16.0.7", + "@next/swc-darwin-arm64": "16.1.1", + "@next/swc-darwin-x64": "16.1.1", + "@next/swc-linux-arm64-gnu": "16.1.1", + "@next/swc-linux-arm64-musl": "16.1.1", + "@next/swc-linux-x64-gnu": "16.1.1", + "@next/swc-linux-x64-musl": "16.1.1", + "@next/swc-win32-arm64-msvc": "16.1.1", + "@next/swc-win32-x64-msvc": "16.1.1", "sharp": "^0.34.4" }, "peerDependencies": { @@ -6669,24 +6669,24 @@ } }, "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmmirror.com/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "version": "19.2.3", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^19.2.3" } }, "node_modules/react-is": { diff --git a/package.json b/package.json index 885b32c..08e1997 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,11 @@ "@types/three": "^0.181.0", "framer-motion": "^12.23.25", "lucide-react": "^0.555.0", - "next": "16.0.7", + "next": "^16.1.1", "next-auth": "^4.24.13", "prisma": "^7.1.0", - "react": "19.2.0", - "react-dom": "19.2.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", "skinview3d": "^3.4.1", "three": "^0.181.2" }, -- 2.49.1 From ed83326cdcc24b0af14a16bb372c46f3ecc5ecaf Mon Sep 17 00:00:00 2001 From: Mikuisnotavailable Date: Sat, 10 Jan 2026 10:22:59 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=8D=87=E7=BA=A7eslint-config-next?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=88=B016.1.1=EF=BC=8C=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E4=B8=80=E8=87=B4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 22 +++++++++++----------- package.json | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index a14f1fa..6f87cbf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "@types/react": "^19.2.7", "@types/react-dom": "^19", "eslint": "^9", - "eslint-config-next": "16.0.7", + "eslint-config-next": "^16.1.1", "tailwindcss": "^4", "typescript": "^5" } @@ -1302,9 +1302,9 @@ "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-16.0.7.tgz", - "integrity": "sha512-hFrTNZcMEG+k7qxVxZJq3F32Kms130FAhG8lvw2zkKBgAcNOJIxlljNiCjGygvBshvaGBdf88q2CqWtnqezDHA==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.1.tgz", + "integrity": "sha512-Ovb/6TuLKbE1UiPcg0p39Ke3puyTCIKN9hGbNItmpQsp+WX3qrjO3WaMVSi6JHr9X1NrmthqIguVHodMJbh/dw==", "dev": true, "license": "MIT", "dependencies": { @@ -3840,13 +3840,13 @@ } }, "node_modules/eslint-config-next": { - "version": "16.0.7", - "resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-16.0.7.tgz", - "integrity": "sha512-WubFGLFHfk2KivkdRGfx6cGSFhaQqhERRfyO8BRx+qiGPGp7WLKcPvYC4mdx1z3VhVRcrfFzczjjTrbJZOpnEQ==", + "version": "16.1.1", + "resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-16.1.1.tgz", + "integrity": "sha512-55nTpVWm3qeuxoQKLOjQVciKZJUphKrNM0fCcQHAIOGl6VFXgaqeMfv0aKJhs7QtcnlAPhNVqsqRfRjeKBPIUA==", "dev": true, "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "16.0.7", + "@next/eslint-plugin-next": "16.1.1", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.32.0", @@ -4283,9 +4283,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.20.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, "license": "ISC", "dependencies": { diff --git a/package.json b/package.json index 08e1997..e9c46f5 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@types/react": "^19.2.7", "@types/react-dom": "^19", "eslint": "^9", - "eslint-config-next": "16.0.7", + "eslint-config-next": "^16.1.1", "tailwindcss": "^4", "typescript": "^5" } -- 2.49.1 From 70c541d57ccb7900b21838078ad4fdce74846442 Mon Sep 17 00:00:00 2001 From: Mikuisnotavailable Date: Sat, 10 Jan 2026 16:34:33 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E9=BC=A0=E6=A0=87=E8=B7=9F=E9=9A=8F=E5=85=83=E7=B4=A0?= =?UTF-8?q?=E7=9A=84=E9=98=B2=E6=8A=96=E5=A4=84=E7=90=86,=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E6=88=91=E5=8F=91=E7=8E=B0=E6=8A=96=E5=8A=A8=E6=98=AF?= =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E6=88=91=E8=BF=99=E8=BE=B9=E6=80=A7=E8=83=BD?= =?UTF-8?q?=E4=B8=8D=E8=A1=8C=EF=BC=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/page.tsx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 7c3d7d2..7579db7 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -23,22 +23,15 @@ export default function Home() { const [isHovered, setIsHovered] = useState(false); useEffect(() => { - let timeoutId: number | undefined; const handleMouseMove = (e: MouseEvent) => { - clearTimeout(timeoutId); - timeoutId = window.setTimeout(() => { - setMousePosition({ x: e.clientX, y: e.clientY }); - }, 16); + setMousePosition({ x: e.clientX, y: e.clientY }); }; window.addEventListener('mousemove', handleMouseMove); return () => { window.removeEventListener('mousemove', handleMouseMove); - if (timeoutId) { - clearTimeout(timeoutId); - } }; }, []); -- 2.49.1