使用history.goBack返回上一页时表单自动触发提交的原因是什么
问题根因
- 位于
<form>标签内部的<button>元素如果没有显式指定type属性,根据HTML规范默认的type值为submit,点击该类按钮会自动触发所在表单的提交事件。 - 你的返回按钮渲染在表单内部,且没有设置type属性,点击时除了执行你绑定的
history.goBack逻辑,还会触发表单的onSubmit回调。
修复方案
任选一种即可解决问题:
- 给toolbar里的返回按钮加上
type="button"属性,显式声明为普通按钮,不会触发表单提交
<button type="button"> <FontAwesomeIcon icon={faArrowAltCircleLeft} /> </button>
- 在
goToback方法中阻止事件默认行为
const goToback = (e) => { e.preventDefault(); history.goBack(); };
内容的提问来源于stack exchange,提问作者yooo
相关产品推荐
相关产品推荐

