@ribeirolabs/events
Version:
Type safe listener for custom/native events and dispatcher for custom events
22 lines (19 loc) • 461 B
JavaScript
// src/react/index.ts
import { useEffect } from "react";
// src/index.ts
function listenEvent(event, handler) {
window.addEventListener(event, handler);
return () => unlistenEvent(event, handler);
}
function unlistenEvent(event, handler) {
window.removeEventListener(event, handler);
}
// src/react/index.ts
function useEvent(event, handler) {
useEffect(() => {
return listenEvent(event, handler);
}, [event, handler]);
}
export {
useEvent
};