Contents of React Interview Questions

Comprehensive collection of React interview questions and answers covering hooks, components, state management, and best practices.

Event Handling Differences Between React and HTML

When handling events like clicks, form submissions, or keyboard input, React and HTML have some key differences. Here's a quick breakdown:

AspectHTMLReact
SyntaxLowercase event names like onclick, onchange.CamelCase event names like onClick, onChange.
Event BindingEvent handlers are written directly in the attribute as strings. <br>Example: <button onclick="handleClick()">Click</button>Event handlers are passed as functions, not strings. <br>Example: <button onClick={handleClick}>Click</button>
Context (this)Not automatically bound to the component or element.In class components, you must manually bind this or use arrow functions. In functional components (with hooks), no this binding is needed.
Event ObjectBrowser provides a native event object.React provides a SyntheticEvent — a wrapper around the browser's native event for better cross-browser compatibility.
Default Behavior PreventionUse return false; or manually call event.preventDefault().Always call event.preventDefault() explicitly inside the event handler.

Example Comparison:

HTML:

<button onclick="alert('Button clicked!')">Click Me</button>

React:

function handleClick() { alert('Button clicked!'); } <button onClick={handleClick}>Click Me</button>

Key Takeaway:

In React, event handling is more consistent and powerful thanks to camelCase naming, passing functions directly, and the use of SyntheticEvents for better performance and cross-browser support.