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

ReactJS中提交表单后如何重置input输入框?附问题复现代码

问题根因

你当前的输入框属于非受控组件:只通过onChange事件在用户输入时同步更新task状态,但没有给输入框绑定value属性关联task状态,输入框的实际显示内容由浏览器DOM自身维护,和React状态没有建立双向绑定关系。所以即使你把task重置为空字符串,DOM里留存的输入内容也不会自动同步更新。

修复方法

给input标签添加value={task}属性,将其改为标准的React受控组件即可。修改后的input代码如下:

<input 
  type='text'
  placeholder='Wut you upto?'
  value={task}
  onChange = {(event) => {setTask(event.target.value)}}
/>

修改后,task状态和输入框显示值会完全同步,调用setTask('')时输入框会自动清空,和状态保持一致。

小提示:React中所有需要通过代码控制值的表单元素(input、textarea、select等),都建议通过绑定value属性+onChange更新state的方式写成受控组件,避免状态和UI显示不一致的问题。

内容的提问来源于stack exchange,提问作者Mustafa Younus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:18:15