Here are 30 commonly used React events:
### **1. onClick**
- **Description**: Triggered when the user clicks on an element.
- **Usage Example**:
```jsx
<button onClick={handleClick}>Click Me</button>
```
### **2. onChange**
- **Description**: Triggered when the value of an input element changes.
- **Usage Example**:
```jsx
<input type="text" onChange={handleChange} />
```
### **3. onSubmit**
- **Description**: Triggered when a form is submitted.
- **Usage Example**:
```jsx
<form onSubmit={handleSubmit}>
<input type="text" />
<button type="submit">Submit</button>
</form>
```
### **4. onKeyDown**
- **Description**: Triggered when a key is pressed down.
- **Usage Example**:
```jsx
<input type="text" onKeyDown={handleKeyDown} />
```
### **5. onKeyUp**
- **Description**: Triggered when a key is released.
- **Usage Example**:
```jsx
<input type="text" onKeyUp={handleKeyUp} />
```
### **6. onKeyPress** (Deprecated)
- **Description**: Triggered when a key is pressed down and released.
- **Usage Example**:
```jsx
<input type="text" onKeyPress={handleKeyPress} />
```
### **7. onFocus**
- **Description**: Triggered when an element gains focus.
- **Usage Example**:
```jsx
<input type="text" onFocus={handleFocus} />
```
### **8. onBlur**
- **Description**: Triggered when an element loses focus.
- **Usage Example**:
```jsx
<input type="text" onBlur={handleBlur} />
```
### **9. onMouseEnter**
- **Description**: Triggered when the mouse pointer enters the element.
- **Usage Example**:
```jsx
<div onMouseEnter={handleMouseEnter}>
Hover over me!
</div>
```
### **10. onMouseLeave**
- **Description**: Triggered when the mouse pointer leaves the element.
- **Usage Example**:
```jsx
<div onMouseLeave={handleMouseLeave}>
Hover over me!
</div>
```
### **11. onMouseDown**
- **Description**: Triggered when the mouse button is pressed down.
- **Usage Example**:
```jsx
<button onMouseDown={handleMouseDown}>Press me</button>
```
### **12. onMouseUp**
- **Description**: Triggered when the mouse button is released.
- **Usage Example**:
```jsx
<button onMouseUp={handleMouseUp}>Release me</button>
```
### **13. onMouseMove**
- **Description**: Triggered when the mouse pointer moves over an element.
- **Usage Example**:
```jsx
<div onMouseMove={handleMouseMove}>
Move the mouse over me!
</div>
```
### **14. onDoubleClick**
- **Description**: Triggered when the user double-clicks on an element.
- **Usage Example**:
```jsx
<button onDoubleClick={handleDoubleClick}>Double Click Me</button>
```
### **15. onScroll**
- **Description**: Triggered when an element's scroll position changes.
- **Usage Example**:
```jsx
<div onScroll={handleScroll} style={{ overflow: 'auto', height: '200px' }}>
Scroll inside me!
</div>
```
### **16. onWheel**
- **Description**: Triggered when the user scrolls using the mouse wheel.
- **Usage Example**:
```jsx
<div onWheel={handleWheel}>
Scroll with the mouse wheel!
</div>
```
### **17. onCopy**
- **Description**: Triggered when content is copied.
- **Usage Example**:
```jsx
<textarea onCopy={handleCopy}></textarea>
```
### **18. onPaste**
- **Description**: Triggered when content is pasted.
- **Usage Example**:
```jsx
<textarea onPaste={handlePaste}></textarea>
```
### **19. onDrag**
- **Description**: Triggered when an element is being dragged.
- **Usage Example**:
```jsx
<div draggable onDrag={handleDrag}>
Drag me!
</div>
```
### **20. onDragStart**
- **Description**: Triggered when the user starts dragging an element.
- **Usage Example**:
```jsx
<div draggable onDragStart={handleDragStart}>
Start dragging me!
</div>
```
### **21. onDragEnd**
- **Description**: Triggered when the user stops dragging an element.
- **Usage Example**:
```jsx
<div draggable onDragEnd={handleDragEnd}>
Stop dragging me!
</div>
```
### **22. onDrop**
- **Description**: Triggered when a dragged element is dropped.
- **Usage Example**:
```jsx
<div onDrop={handleDrop}>
Drop here!
</div>
```
### **23. onContextMenu**
- **Description**: Triggered when the right mouse button is clicked to open the context menu.
- **Usage Example**:
```jsx
<div onContextMenu={handleContextMenu}>
Right-click me!
</div>
```
### **24. onInput**
- **Description**: Triggered when the value of an input element is received.
- **Usage Example**:
```jsx
<input type="text" onInput={handleInput} />
```
### **25. onLoad**
- **Description**: Triggered when an image or other media is loaded.
- **Usage Example**:
```jsx
<img src="image.jpg" onLoad={handleLoad} alt="Example" />
```
### **26. onError**
- **Description**: Triggered when there is an error during the loading of an image or other media.
- **Usage Example**:
```jsx
<img src="invalid.jpg" onError={handleError} alt="Example" />
```
### **27. onSelect**
- **Description**: Triggered when text is selected inside an element.
- **Usage Example**:
```jsx
<input type="text" onSelect={handleSelect} />
```
### **28. onTouchStart**
- **Description**: Triggered when a touch point is placed on the touch surface.
- **Usage Example**:
```jsx
<div onTouchStart={handleTouchStart}>
Touch me!
</div>
```
### **29. onTouchMove**
- **Description**: Triggered when a touch point moves along the touch surface.
- **Usage Example**:
```jsx
<div onTouchMove={handleTouchMove}>
Move your touch!
</div>
```
### **30. onTouchEnd**
- **Description**: Triggered when a touch point is removed from the touch surface.
- **Usage Example**:
```jsx
<div onTouchEnd={handleTouchEnd}>
Lift your finger!
</div>
```
Written by [Tech Hunter](https://x.com/1techhunter)
You can contact me on [LinkedIn](https://www.linkedin.com/in/nwankwo-stephanie-4ba1311a7/://)