我正在构建一个定制的React钩子,该钩子接受一个对象(具有函数作为属性之一)作为参数。
我想获得该函数的参数的类型定义,目前我可以这样:
const { submitHandler, register } = useForm({
handleSubmit: data => {
/*
Everything is ok:
(parameter) data: {
inputs: InputRefs;
e: React.FormEvent<HTMLFormElement>;
}
*/
}
});
但是,我想通过使handleSubmit
参数对象之外的useForm
来拆分代码,如下所示:
const handleSubmit = data => {
// Parameter 'data' implicitly has an 'any' type, but a better type may be inferred from usage.
};
const { submitHandler, register } = useForm({ handleSubmit });
但是,如果我这样做,则data
的类型为“ any”。是否可以获取该函数的参数的类型定义?还是唯一正确的解决方案实际上只是导出/导入类型?
很抱歉,如果这个不是很明确或已经被解释过,但是我刚刚开始学习打字稿,但我似乎找不到正确的关键字来找到我要问的答案...
谢谢
在此处右键单击handleSubmit
:
const { submitHandler, register } = useForm({
handleSubmit: data => {
/*
Everything is ok:
(parameter) data: {
inputs: InputRefs;
e: React.FormEvent<HTMLFormElement>;
}
*/
}
});
并选择“转到定义”。这将为您提供您需要在此处指定的类型:
const handleSubmit: ${Type} = data => {
// Parameter 'data' implicitly has an 'any' type, but a better type may be inferred from usage.
};
const { submitHandler, register } = useForm({ handleSubmit });