Handling Events
React event handlers are camelCase props, onClick,
onChange, onSubmit, set to a function that
runs whenever that event fires.
Example: reading what's typed into a field
import { useState } from "react";
function SearchBox() {
const [query, setQuery] = useState("");
function handleChange(e) {
setQuery(e.target.value);
}
return (
<div>
<input type="text" onChange={handleChange} placeholder="Search..." />
<p>You typed: {query}</p>
</div>
);
}
e (the event object) is passed automatically to every
handler; e.target is the actual DOM element the event
happened on, and .value is its current text. Notice this
example pairs the event handler with useState from the
previous lesson, reading input and storing it in state together is
exactly the pattern behind essentially every form in a real React app.
function SearchBox() {
function handleChange(e) {
console.log("You typed:", e.target.value);
}
return <input type="text" onChange={handleChange} placeholder="Search..." />;
}
Logs "You typed: <current value>" to the console every time the input changes.