You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS中点击提交按钮页面自动刷新问题求助

表单点击后页面刷新的原因及修复方案

你代码里已经写了e.preventDefault(),但页面还是刷新,核心问题出在NextJS的组件渲染模式上:

你的HeroSection是客户端组件(加了"use client"),但父组件Home是默认的服务器组件(没加客户端指令)。当服务器组件渲染客户端组件时,表单的提交事件处理可能没有在客户端正确绑定,导致默认的表单提交刷新行为没被拦截。

修复方法:

给Home页面也加上"use client",让整个组件树都在客户端运行,事件处理就能正常生效。修改后的Home代码:

"use client";
import HeroSection from './HeroSection'
export default function Home() {
return (
<main className="flex h-screen flex-col items-center justify-between p-24">
<HeroSection/>
</main>
)}

另外确认下handleSubmit里的e.preventDefault()拼写没问题,从你贴的代码看是正确的,所以主要就是组件渲染上下文的问题。

内容的提问来源于stack exchange,提问作者Devansh Dhingra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:35:14