React Bootstrap表单提交事件:TypeScript中替代any的正确参数类型
为React Bootstrap表单提交事件设置正确类型
你可以把事件参数e的类型设置为React.FormEvent<HTMLFormElement>,这是React中表单提交事件的标准类型,能准确匹配表单元素的事件对象:
import React from 'react'; const submitHandler = (e: React.FormEvent<HTMLFormElement>) => { e.preventDefault(); const form = e.currentTarget!; if (form.checkValidity() === false) { e.stopPropagation(); } setValidated(true); email && !checkMailSuccess && dispatch(checkMailActions.checkMailStart(email.trim())); if ( validated === true && form.checkValidity() === true && isExist === false ) { dispatch( credentialsActions.saveStart({ name: name.trim(), dob: dob.trim(), fatherName: fatherName.trim(), address: address.trim(), docType: docType.trim(), docNum: docNum.trim(), email: email.trim(), image: image.trim(), }) ); navigate('/step2'); } };
补充说明:
React.FormEvent<T>是泛型类型,T指定事件触发元素的具体类型,这里表单对应HTMLFormElement,设置后e.currentTarget会被自动推断为表单元素类型,无需额外类型转换。- 该类型包含表单提交事件的所有标准属性和方法,比如
preventDefault()、stopPropagation()等,完全适配你现有业务逻辑。
内容的提问来源于stack exchange,提问作者AJAY
相关产品推荐
相关产品推荐

