这是我的代码:
export interface PatientFormInputs {
patientId: string;
firstName: string;
lastName: string;
email: string;
day: string;
month: string;
year: string;
}
In react component:
const {
control,
register,
handleSubmit,
watch,
reset,
// formState: { isValid },
} = useForm<PatientFormInputs>({
defaultValues: {
month: '',
},
});
return (
<PatientInfo
register={register}
initialData={initialData}
selectedMonth={selectedMonth}
setSelectedMonth={setSelectedMonth}
/>
)
通过这种方式,我在PatientInfo中添加了接口:
interface PatientInfoProps {
register: UseFormRegister<PatientFormInputs>;
initialData?: PatientBE;
selectedMonth: string | null;
setSelectedMonth: Dispatch<SetStateAction<string | null>>;
}
export const PatientInfo: FC<PatientInfoProps> = ({
register,
initialData,
selectedMonth,
setSelectedMonth,
}) => {...}
但是我想使用泛型进行注册,比如:register: UseFormRegister<T>
在某些地方,我需要很少的不同数据,所以我想灵活地使用泛型.
如何做到这一点(我try 了一些方法,但总是面临的问题和错误)?
我试过这样的方法:
interface PatientInfoProps<T> {
register: UseFormRegister<T>;
...
}
也try 了类似的东西,但都不是很好.
我希望能够将泛型用于寄存器类型,而不会出现问题.