在React+Typescript中处理表单提交的最佳实践



我刚刚真正开始掌握TS,正在将我的许多代码重构为TypeScript。当TS在React事件上强制使用HTML元素类型时,它让我思考如何创建表单及其提交事件处理。

我一直使用带有onClick={this.handleSubmission}事件处理程序的<button />元素。现在,React事件上指定的HTML元素类型让我认为处理表单提交似乎有两种主要方法-捕获提交按钮上的点击事件(如上所述(或捕获表单本身的onSubmit事件。这些似乎是在TypeScript中键入的:-

(e: React.MouseEvent<HTMLButtonElement>)
(e: React.FormEvent<HTMLFormElement>)

就最佳实践而言,两者之间真的有什么区别吗?我假设提交按钮单击(假设它是一个真正的HTML按钮元素(将始终由(e: React.MouseEvent<HTMLButtonElement>)处理。然而,<input type="submit" value="Submit" />似乎(在TS术语中(是HTMLFormElement上的真正FormEvent,因为它不能是按钮事件。

是否有最佳实践或技术要求,还是仅仅取决于个人喜好?谢谢

不使用FormEvent会增加担忧,因此捕获FormEvent可以节省时间。如果我们决定使用MouseEvent而不是FormEvent,我们应该通过添加e.preventDefault()来关注默认值。

而使用CCD_ 13的CCD_。

最新更新