When writing event handlers it’s common to adopt the handle{eventName} naming convention.
handleClick(e) { /* do something */ }
For components that handle several event types, these function names can be repetitive. The names themselves might not provide much value, as they simply proxy to other actions/functions.
handleClick() { require("./actions/doStuff")(/* action stuff */) }
handleMouseEnter() { this.setState({ hovered: true }) }
handleMouseLeave() { this.setState({ hovered: false }) }
Consider writing a single event handler for your component and switching on event.type.
handleEvent({type}) {
switch(type) {
case "click":
return require("./actions/doStuff")(/* action dates */)
case "mouseenter":
return this.setState({ hovered: true })
case "mouseleave":
return this.setState({ hovered: false })
default:
return console.warn(`No case for event type "${type}"`)
}
}
Alternatively, for simple components, you can call imported actions/functions directly from components, using arrow functions.
<div onClick={() => someImportedAction({ action: "DO_STUFF" })}
Don’t fret about performance optimizations until you have problems. Seriously don’t.