<div onMouseMove={this.mouseMove} />
mouseMove = (event: MouseEvent) => {
// 提示:类型“MouseEvent”上不存在属性“nativeEvent”
const e = event.nativeEvent;
};
怎么定义这个event类型才能不报这个提示
<div onMouseMove={this.mouseMove} />
mouseMove = (event: MouseEvent) => {
// 提示:类型“MouseEvent”上不存在属性“nativeEvent”
const e = event.nativeEvent;
};
怎么定义这个event类型才能不报这个提示
你用的 MouseEvent
是 ts 自带的,是原生事件的类型。
有 nativeEvent
的 MouseEvent
是 react 封装过后的,要从 react 里面引
import { MouseEvent } from 'react';
或者这样写 React.MouseEvent
const mouseMove = (event: React.MouseEvent) => {
const e = event.nativeEvent;
};
在React中,可以使用onMouseMove生命周期方法来监听鼠标移动事件。在该方法中,可以通过event.nativeEvent获取到原生的MouseEvent对象,该对象包含了鼠标移动的详细信息。因此,可以通过该对象来获取nativeEvent类型。具体示例如下:
Copy code
onMouseMove(event) {
const nativeEvent = event.nativeEvent;
console.log(nativeEvent);
}
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
通过检查
instanceof TouchEvent
和instanceof MouseEvent
条件并使用nativeEvent内部属性event,可以访问每个单独的接口而不会出错。