Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在带有React和Typescript的div上使用onFocus_Reactjs_Typescript_Typescript Typings_Onfocus - Fatal编程技术网

Reactjs 在带有React和Typescript的div上使用onFocus

Reactjs 在带有React和Typescript的div上使用onFocus,reactjs,typescript,typescript-typings,onfocus,Reactjs,Typescript,Typescript Typings,Onfocus,我不知道如何将焦点事件与React和Typescript一起使用: private onFocus(event: FocusEvent) { } ... <div tabIndex={0} onFocus={this.onFocus} > Element </div> private onFocus(事件:FocusEvent){ } ... 元素 使用上面的代码,我得到以下错误 属性“onFocus”的类型不兼容 类型'(事件:FocusEvent)

我不知道如何将焦点事件与React和Typescript一起使用:

private onFocus(event: FocusEvent) {

}

...

<div
  tabIndex={0}
  onFocus={this.onFocus}
>
 Element
</div>
private onFocus(事件:FocusEvent){
}
...
元素
使用上面的代码,我得到以下错误

属性“onFocus”的类型不兼容

类型'(事件:FocusEvent)=>void'不可分配给类型'((事件:FocusEvent)=>void)|未定义'

类型'(事件:FocusEvent)=>void'不可分配给类型'(事件:FocusEvent)=>void'

参数“event”和“event”的类型不兼容

类型“FocusEvent”不可分配给类型“FocusEvent”

类型“FocusEvent”中缺少属性“initFocusEvent”


我尝试了一系列方法来让Typescript编译器满意,但似乎没有任何效果。

根据错误,您似乎使用了错误的FocusEvent类型-您正在处理React合成事件,因此需要使用React类型

以下处理程序没有错误(您的结果可能因您的react.d.ts版本而异):

从'react'导入{FocusEvent}
...
专用聚焦(ev:FocusEvent){
控制台日志(ev);
}
import {FocusEvent} from 'react'
...
private onFocus(ev: FocusEvent<any>){
    console.log(ev);
}