非常简单的问题。我来自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
,它是最不明确的类型。
那么我可以为此功能使用的最具体,最明确的类型是什么?
谢谢。
答案 0 :(得分:1)
使用React.EventHandler<React.SyntheticEvent>
或React.EventHandler<any>
作为返回类型