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

React点击Remove按钮后应用重载问题及原因咨询

为什么点击表单内的Remove按钮会导致整个应用重载?

这问题本质是浏览器对表单内按钮的默认行为处理导致的:

  • 你把Remove按钮放在了<form>标签里面,而HTML里的<button>元素默认type是submit。当点击这类按钮时,浏览器会自动触发表单的提交行为——如果表单没指定action属性,就会刷新当前页面,也就是你看到的应用重载。
  • 你的删除行逻辑本身是对的,但浏览器的默认表单提交行为优先级更高,页面直接刷新了,导致删除效果没机会展示出来。

而你加的e.preventDefault()刚好解决了这个问题:它会阻止当前事件的默认行为,也就是取消了表单提交动作,这样页面就不会重载,你的删除行逻辑就能正常执行了。

另外还有更直接的解决方式:给Remove按钮显式设置type="button",比如:

<button type="button" onClick={handleRemove}>Remove</button>

这样浏览器就不会把它识别为提交按钮,自然就不会触发表单提交,不用每次都写e.preventDefault()。

内容的提问来源于stack exchange,提问作者Usman Sajid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:08:14