我在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();
}}