我有以下类型,它们被设置为处理2个不同的表单提交,其中2个不同的对象作为函数中的参数。
interface FormValues {
firstNames: string;
middleNames: string;
surname: string;
}
interface PasswordFormValues {
password: string;
confirmPassword: string;
}
type FormSubmit = (values: FormValues | PasswordFormValues) => Promise<void>
interface ProfileFormProps {
onFormSubmit: (values: FormValues | PasswordFormValues) => Promise<void>;
}
但是,如果尝试使用FormSubmit
类型为函数中的参数传入任何一种类型,则会出现以下类型错误。
第一次
如何在使用FormSubmit
类型的函数中将任一对象作为参数传递?
我有一个有问题的TypeScriptPlaygroundURL
1条答案
按热度按时间klr1opcd1#
只需将处理程序更改为接受
FormValues
或PasswordFormValues
的 * 任一a处理程序:也就是说,这会让您看到有人配置一个只 * 产生 *
FormValues
的表单,并提供一个只消耗PasswordFormValues
的onFormSubmit
。