Event Handling
Subject: React
π§© What Are Events in React?
Events in React are just like events in regular HTML (e.g., click, submit, change), but with a few key differences:
- React wraps events in a synthetic event system (
SyntheticEvent
) - Uses camelCase instead of lowercase (e.g.,
onClick
notonclick
) - You pass functions, not strings, as handlers
π‘ React events are designed to work identically across all browsers.
π§ Key Differences (React vs HTML)
HTML | React |
---|---|
onclick="handleClick()" | onClick={handleClick} |
String-based | Function-based |
Lowercase | CamelCase |
Native DOM events | React SyntheticEvent |
β Basic Event Handling Example
π Explanation:
onClick
is the eventhandleClick
is the function that gets called when the event happens
π List of Common React Events
Event Type | React Prop | Triggered When... |
---|---|---|
Click | onClick | Element is clicked |
Change | onChange | Form field value changes |
Submit | onSubmit | Form is submitted |
Mouse Enter | onMouseEnter | Mouse enters an element |
Mouse Leave | onMouseLeave | Mouse leaves an element |
Key Down | onKeyDown | Key is pressed down |
Focus | onFocus | Element receives focus |
Blur | onBlur | Element loses focus |
π§ͺ Example: Form Input with onChange
β‘οΈ e.target.value
gives the current value of the input field.
π₯ Example: Form Submit with onSubmit
βοΈ Passing Arguments to Event Handlers
π§ React SyntheticEvent
React wraps all browser events in a SyntheticEvent
to ensure consistency across browsers.
π Event Handling Best Practices
β Do's | β Don'ts |
---|---|
Use camelCase (onClick, onSubmit) | Avoid lowercase (onclick) |
Pass a function reference | Avoid calling directly (onClick={func()} ) |
Use preventDefault() for forms | Donβt let forms reload the page |
Use arrow functions to pass args | Avoid inline logic in JSX |
π Summary
Feature | Description |
---|---|
Event Name | Use camelCase like onClick , onChange |
Event Handler | Pass a function (not a string) |
Event Object | Access via e in function |
Custom Args | Use arrow functions to pass arguments |
SyntheticEvent | Reactβs cross-browser wrapper for DOM events |
Advertisement Slot 1
Advertisement Slot 2