gpt4 book ai didi

javascript - 获取函数声明上的函数参数类型

转载 作者:行者123 更新时间:2023-12-02 21:40:23 25 4
gpt4 key购买 nike

我正在构建一个自定义 React 钩子(Hook),它接受一个对象(其属性之一是函数)作为参数。

我想获得该函数参数的类型定义,我目前可以这样做:

  const { submitHandler, register } = useForm({
handleSubmit: data => {
/*
Everything is ok:
(parameter) data: {
inputs: InputRefs;
e: React.FormEvent<HTMLFormElement>;
}
*/
}
});

但是,我想通过在 useForm 参数对象之外获取 handleSubmit 来拆分代码,如下所示:

  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”...有没有办法获取该函数参数的类型定义?或者唯一正确的解决方案实际上只是导出/导入类型?

抱歉,如果这不明确或已经解释过,但我刚刚开始学习 typescript ,我似乎找不到正确的关键字来找到我所问问题的答案......

谢谢

最佳答案

右键单击此处的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 });

关于javascript - 获取函数声明上的函数参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60379324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com