What is the TypeScript definition for the onClick event in React?
The right interface for onClick is MouseEvent
Please continue reading below to see how to use it or read my guide on using React events with TypeScript.
You can also go to the search page 🔍 to find another event.
Interface
interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
altKey: boolean;
button: number;
buttons: number;
clientX: number;
clientY: number;
ctrlKey: boolean;
/**
* See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
*/
getModifierState(key: string): boolean;
metaKey: boolean;
movementX: number;
movementY: number;
pageX: number;
pageY: number;
relatedTarget: EventTarget | null;
screenX: number;
screenY: number;
shiftKey: boolean;
}
Full example
import React, { MouseEvent } from 'react';
const ButtonComponent = () => {
const handleMouseEvent = (e: MouseEvent<HTMLButtonElement>) => {
e.preventDefault();
// Do something
};
return <button onClick={handleMouseEvent}>Click me!</button>;
};
export default ButtonComponent;