A state container which provides an interface for managing event listeners in its children. This component will automatically garbage collect all of its registered listeners on unmount.
npm install @render-props/eventsyarn add @render-props/events` or `npm i @render-props/events`
____
Usage
`js
import Events from '@render-props/events'
class SomeComponent extends React.Component {
componentDidMount () {
this.props.addEvent(window, 'resize', this.handleResizeEvent)
}
}
function SomeComponentWithEvents (props) {
return (
{({addEvent, removeEvent, removeAllEvents}) => (
return (
addEvent={addEvent}
removeEvent={removeEvent}
{...props}
/>
)
)}
)
}
`____
Render Props
#### Methods
-
addEvent (element, eventName
- adds an event @listener for @eventName on the provided @element
- removeEvent (element, eventName
- removes an event @listener for @eventName on the provided @element
- removeAllEvents ([element])
- removes listeners from all registered events if no @element is provided,
otherwise removes all listeners attached to @element`