事件对象event的类型

来源:9-10 妙用 useRef - 实现 clickOutSide 功能-

AlmostSire

2020-08-13

看课程时,对于事件对象的类型在Menu的SubMenu组件中老师从React.MouseEvent引用,而在当前课程老师直接读取MouseEvent,请问这有啥区别?

http://img1.sycdn.imooc.com/szimg/5f34f13209d8141911990927.jpg

http://img1.sycdn.imooc.com/szimg/5f34f132091122c219200937.jpg


写回答

1回答

张轩

2020-08-13

同学你好 你看的非常认真 很好 React.MouseEvent (各种 react event 事件对象),都是 React 的事件,它并不是 DOM 原生的对象,React 的事件称之为合成事件(https://zh-hans.reactjs.org/docs/events.html),也就是说是 React 实现的一套自定义事件系统,它和普通的 DOM 事件是不一样的。


而第二个事件,我们使用的是原生的 doucment.addEventListener 的方法添加,那么它是一个原生的 DOM事件,它的事件对象是原生的事件对象(比如这里的 MouseEvent)


这些定义,你其实可以按住 command 键 然后点击事件名称,就会跳转到定义文件中,看看它们是怎样定义的,就知道它们的区别啦。

0
1
AlmostSire
非常感谢!
2020-11-27
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程