React.MouseEvent vs React.MouseEvent<HTMLAnchorElement, MouseEvent> in TypeScript?



我在React中为锚点点击事件添加了一个类型,这是基于我在未键入时遇到的TypeScript错误:

onClick={(event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
event.preventDefault();
}}

如果使用这个较短的版本,我仍然不会出错:

onClick={(event: React.MouseEvent) => {
event.preventDefault();
}}

第二种无版本类型安全吗?从实际意义上讲,我放弃了什么?

MouseEvent接口:

interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
// ...
}

您不需要传递第二个泛型类型。因此,这种方式将解决错误:

onClick={(event: React.MouseEvent<HTMLAnchorElement>) => {
event.preventDefault();
}}

最新更新