javascript - 什么是胖箭头函数/回调类型?

标签 javascript reactjs typescript types callback

非常简单的问题。我有 Qt/C++ 背景,因此我认为明确是一种很好的做法,因此

protected sanityCheck() : void { ... } // Braced and Typepilled
protected sanityCheck() { ... }        // Extremely stupid and dangerous 

那么,我该如何明确地表达这一点:

protected checkRadio( index : number ) : ????? // "Function" type does not work
{
        return (event: React.MouseEvent) => 
        {
                let radioIndex : HTMLInputElement 
                        = document.getElementsByName(this.question())[index] 
                        as HTMLInputElement;
                radioIndex.checked = true;
                event.preventDefault();
        }
}

我尝试过的大多数类型都导致了

Type 'void' is not assignable to type 
'((event: MouseEvent<HTMLLIElement, MouseEvent>) => void) | undefined'.  TS2322

当我检查文档时,它没有说什么。当我检查 typeof 时,它只是说function。我的印象是我可以定义自己的类型,但我想要一个尽可能具体的一次性、单一类型的解决方案。

到目前为止,我能做的最好的事情是 any,这是最不具体的类型。

那么我可以为此函数使用哪些最具体和明确的类型?

谢谢。

最佳答案

使用React.EventHandler<React.SyntheticEvent>React.EventHandler<any>作为返回类型

关于javascript - 什么是胖箭头函数/回调类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58249658/

相关文章:

javascript - Reactjs Axios 不会捕获

angularjs-directive - 仅适用于属性的 Angular 指令在 React 中的等价物是什么?

typescript - 从模块声明文件中的命名空间合并接口(interface)

javascript - 跳过 NULL 并在下拉列表中仅显示唯一值

将变量传递给函数的 JavaScript 语法

javascript - 使用 Javascript SDK 在启动时关联 ElasticIP

javascript - 如何从 HTML 集合中提取名称?

javascript - 更改ajax中按钮的文本

javascript - 使用从 BE 获取的数据在弹出窗口上呈现 Reactjs 问题

javascript - 根据数组的深度循环数组