import { useEffect } from 'react'; const useEventListener = ( emitter: { on(event: TEvent, callback: Thandler): () => void } | null, eventName: TEvent, handler: any ) => { useEffect( () => (emitter && handler ? emitter.on(eventName, handler) : () => {}), [emitter, eventName, handler] ); }; export default useEventListener;