React
JavaScript
web development
event handling
front-end development
programming
UI/UX design

How do you handle events in React?

Listen to article
Deepak Tewatia
September 17, 2025
4 min read

Introduction

React makes it simple to handle events. Events are actions that happen in your app, like when a user clicks a button or types in a text box. By listening for these actions, you can make your app interactive and fun. In this article, we'll break down how to handle different types of events in React.

Understanding Event Handling

In React, you handle events using special properties called event handlers. These are usually in camelCase, which means that instead of writing onclick, you write onClick. This difference matters because React uses a synthetic event system, which is a way to normalize events so that they behave consistently across different browsers.

Here's the thing: to make something happen when an event occurs, you must pass a function to the event handler. When the event takes place, React will run that function. Let’s look at a basic example.

Basic Event Handling Example

Suppose you have a button, and you want to show an alert when it is clicked. You can do this with a simple function. Here’s how:

<code class="javascript">
function showAlert() {
    alert('Button was clicked!');
}

function App() {
    return (
        <button onClick={showAlert}>Click Me</button>
    );
}

In this example, the showAlert function runs whenever the button is clicked. The alert box will pop up, showing your message.

Working with Different Events

There are many events you can handle in React. Here are some common ones:

  • onClick: Triggered when an element is clicked.
  • onChange: Triggered when the value of an input field changes.
  • onMouseEnter: Triggered when the mouse pointer enters an element.
  • onKeyDown: Triggered when a key is pressed down on the keyboard.

Each of these events works in a similar way. You just define a function and assign it to the appropriate event handler.

Handling Input Events

Handling input changes is also straightforward. If you want to update a piece of state each time a user types in a text box, you can use the onChange event. Let’s see it in action:

<code class="javascript">
import React, { useState } from 'react';

function App() {
    const [inputValue, setInputValue] = useState('');

    function handleChange(event) {
        setInputValue(event.target.value);
    }

    return (
        <div>
            <input type="text" onChange={handleChange} />
            <p>You typed: {inputValue}</p>
        </div>
    );
}

In this example, the handleChange function updates the state with whatever the user types. The value of the input box is shown in real-time.

Preventing Default Behavior

Sometimes, you might want to prevent the default action that happens when an event occurs. For instance, submitting a form usually refreshes the page. You can stop this by using the preventDefault() method within your event handler:

<code class="javascript">
function handleSubmit(event) {
    event.preventDefault();
    alert('Form submitted!');
}

function App() {
    return (
        <form onSubmit={handleSubmit}>
            <button type="submit">Submit</button>
        </form>
    );
}

In this case, when the form is submitted, the page won't refresh. Instead, the alert will show up, letting you know the form was submitted.

Passing Parameters to Event Handlers

If you want to pass additional information to an event handler, you can define an arrow function to do so. Here’s how it looks:

<code class="javascript">
function handleClick(message) {
    alert(message);
}

function App() {
    return (
        <button onClick={() => handleClick('Hello World!')}>Click Me</button>
    );
}

This way, you can call handleClick with a specific message when the button is clicked.

Conclusion

Handling events in React is both easy and powerful. Whether you are responding to clicks, changes, or key presses, you can create a lively and responsive user experience with just a few lines of code. As you build your React applications, keep experimenting with different events to see what great things you can create!

Comments

Y
You
Commenting
0/2000
Loading comments…