Reactjs 在带有React和Typescript的div上使用onFocus
我不知道如何将焦点事件与React和Typescript一起使用: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)
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);
}