我正在提交带有验证的 React-Bootstrap 表单。我的代码在使用时工作正常
const submitHandler = (e: any) => {
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');
}
};
但我想要适当类型的活动e任何人都可以帮忙吗?
这将只是一个
Form Event
。如果您使用任何编辑器,您将可以访问 React.FormEvent<HTMLFormElement>
类型。
如果你像这样输入,即使这样也应该有效:
const submitHandler = (e: React.SyntheticEvent) => {
或者您可以选择将类型添加到事件处理程序本身,其余的将被处理。
const submitHandler : React.FormEventHandler<HTMLFormElement> = (e) => {
....
提示: 如果您有一个不错的编辑器,只需将鼠标悬停在内容上即可获得提示。
根据此页面,如果您内联回调函数,则键入可以工作
https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/forms_and_events/
这在我的测试中似乎确实有效。将鼠标悬停在 VS 代码中回调函数的事件参数上我得到类型
React.FormEvent<HTMLFormElement>
这似乎确实有效