当前位置: 首页 > 知识库问答 >
问题:

javascript - react的mousedown事件类型定义?

丌官开宇
2023-06-22
import React, {  MouseEvent } from 'react';

const handleMove = (e: MouseEvent<HTMLDivElement>) => {
    e.preventDefault();
};
headerBarRef.current?.addEventListener('mousedown', handleMove);

第二行提示

没有与此调用匹配的重载。
  第 1 个重载(共 2 个),“(type: "mousedown", listener: (this: HTMLElement, ev: MouseEvent) => any, options?: boolean | AddEventListenerOptions | undefined): void | undefined”,出现以下错误。
    类型“(e: MouseEvent<HTMLDivElement>) => void”的参数不能赋给类型“(this: HTMLElement, ev: MouseEvent) => any”的参数。
      参数“e”和“ev” 的类型不兼容。
        类型“MouseEvent”缺少类型“MouseEvent<HTMLDivElement, MouseEvent>”中的以下属性: nativeEvent, isDefaultPrevented, 
isPropagationStopped, persist
  第 2 个重载(共 2 个),“(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void | undefined”,出现以下错误。
    类型“(e: MouseEvent<HTMLDivElement>) => void”的参数不能赋给类型“EventListenerOrEventListenerObject”的参数。

应该怎么写呢?

共有1个答案

裴欣荣
2023-06-22

你的这个地方少了一个 :void,另外,前面也有点小问题,
图片.png

改为:

const handleMove = (e: React.MouseEvent<HTMLDivElement, MouseEvent>): void => {
  e.preventDefault();
};

因为,MouseEvent是属于全局命名空间的,如果你需要显式地指定它的类型,应该是使用 React.MouseEvent,这样可以正常跑了。

 类似资料:
  • 我有一个视觉树,看起来像这样: 一个,包含一个,其中包含一个。 滚动查看器(ScrollViewer)占据了滚动查看器(ScrollViewer)边框(Border)的100%空间,而文本块(TextBlock)可能会也可能不会占据滚动查看器(ScrollViewer)的100%空间,具体取决于用户的配置方式。 我想为用户单击边框中的任何位置捕获鼠标向下事件。当我为边框或滚动查看器注册鼠标向下事件

  • 事件 事件:用户与浏览器之间特定的交互瞬间。 事件类型 web浏览器发生的事件有很多类型,不同的类型有着不同的信息。"DOM3级事件"包含有:UI事件、焦点事件、滚轮事件、文本事件、鼠标事件、键盘事件、合成事件、变动事件、变动名称事件等。 UI事件 UI事件指的是那些 不一定与用户操作有关 的事件。DOM规范中留下向后兼容。UI事件包含: load:当页面加载后在window上面触发,当所有框架加

  • 问题内容: React事件的正确类型是什么。最初,我只是为了简单起见而使用。现在,我正在尝试清理并避免完全使用。 所以像这样一个简单的形式: 我在这里使用什么类型作为事件类型? 似乎没有工作,因为我收到一个错误消息,并且不存在。 对于所有事件的更笼统的回答,我们将不胜感激。 谢谢 问题答案: 该SyntheticEvent接口是通用的: 并且是一般约束与的交集 。 另外,由于事件是由输入元素引起的

  • 怎么定义这个event类型才能不报这个提示

  • 目前BindingX支持四种能力。每一种能力都对应一个EventType,在进行bind的时候,选择不同的EventType即可。 EventType 说明 pan 监听手势的pan事件 timing 监听时间变化,用来实现动画 scroll 监听滚动容器的onScroll事件 orientation 监听设备方向变化,与web DeviceOrientation一致 每一种EventType都提

  • 所以我的问题是,如果它来自键盘,如何阻止它发出KeyTyped事件? 谢谢,