Declaring inline event handlers
The typical approach to assigning handler functions to JSX properties is to use a named function. However, sometimes, you might want to use an inline function, where the function is defined as part of the markup. This is done by assigning an arrow function directly to the event property in the JSX markup:
function MyButton(props) {
return (
<button onClick={(e) => console.log("clicked", e)}>
{props.children}
</button>
);
}
The main use of inlining event handlers like this is when you have a static parameter value that you want to pass to another function. In this example, you’re calling console.log
with the clicked string. You could have set up a special function for this purpose outside of the JSX markup by creating a new function or by using a higher-order function. But then you would have to think of yet another name for yet another function. Inlining is just easier sometimes.
Next, you...