-
Notifications
You must be signed in to change notification settings - Fork 100
Closed
Labels
Description
Would you consider adding a helper utility to help compose events if you want to use the same ones being used by a react-powerplug component?
A contrived example, but I'm using something like this right now:
function composeEvents(internalEvents, externalEvents) {
return Object.keys(externalEvents).reduce((composedEvents, key) => {
const internal = internalEvents[key]
const external = externalEvents[key]
return {
...composedEvents,
[key]: internal
? (event, ...args) => {
internal(event, ...args)
external(event, ...args)
}
: external,
}
}, {})
}
// usage
const HoveredDiv = ({ children, onMouseEnter, onMouseLeave, ...restProps }) => (
<Hover>
{({ isHover, bindHover }) => (
<div
{...composeEvents({ onMouseEnter, onMouseLeave }, bindHover)}
{...restProps}
children={children(isHover)}
/>
)}
</Hover>
)
renatorib and pedronauck