【发布时间】:2022-08-07 23:12:12
【问题描述】:
我在创建 onSubmit 函数并为其指定类型时遇到问题。
在您通常为函数设置类型的第一行,无论我似乎给出了什么或未知的内容,我都看到了一个错误。
该错误表明我不能将any 的类型放在
(event: FormEvent<HTMLFormElement>, data: FormProps) => void
但即使我确实给出了这个确切的建议类型,我仍然会返回一个错误。
const onSubmitHandler = (
e: SyntheticEvent<HTMLFormElement>,
setVerificationId: Dispatch<SetStateAction<string>>,
setVerificationToken: Dispatch<SetStateAction<VerificationStatus>>): TRYING_TO_RESOLVE_WHAT_THIS_TYPE_IS => {
e.preventDefault()
setUserData({
platform: \'\',
name: {
givenNames: givenNames ? givenNames : memberDetails.memberNameDetails.givenNames,
surname: surname ? surname : memberDetails.memberNameDetails.lastName
},
email: email,
dob: formattedDateOfBirth,
currentAddress: {
line1: streetNameInformation,
postCode: postCode,
suburb: suburb,
state: state,
country: country,
}})
aService.postVerificationRegister(userData)
.then(response => {
setVerificationId(response.verificationId)
setVerificationToken(response.verificationToken)
})
.catch((e) => console.error(\"There was an error getting a verification token\", e))
}
<form id=\"not-the-form\" role=\"form\" action=\"/\" onSubmit={onSubmitHandler}>
-
表格从何而来?不知道 Form 是如何定义的,很难说。那是你写的组件吗?是来自某个 3rd 方库吗?
-
@JeremyK <Form /> 是从语义 ui-react 导入的。它主要表现为正常形式:)
-
我从来没有使用过那个组件库,乍一看他们的文档,函数语法是什么并不明显。如果它只是 <form/> 元素的包装器,我希望以下内容是您所需要的。
const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {};但是默认提交没有我知道的第二个参数?您能否更新问题以包含完整的打字稿错误? -
@JeremyK 谢谢!抱歉,不清楚我要解决什么类型,我正在尝试解决函数的类型,据我所知这是导致问题的原因?
标签: reactjs typescript