What is the TypeScript definition for the onTouchStart event in React?

The right interface for onTouchStart is TouchEvent

Please continue reading below to see how to use it or read my guide on using React's events with TypeScript.

Interface

interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
    altKey: boolean;
    changedTouches: TouchList;
    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;
    shiftKey: boolean;
    targetTouches: TouchList;
    touches: TouchList;
}

Full example

import React, { TouchEvent } from 'react';

const ButtonComponent = () => {
  const handleTouchEvent = (e: TouchEvent<HTMLButtonElement>) => {
    e.preventDefault();
    // Do something
  };

  return <button onTouchStart={handleTouchEvent}>Click me!</button>;
};

export default ButtonComponent;

Attributes that use TouchEvent: