Files
reacord/packages/docs/app/hooks/dom/use-window-event.ts
2021-12-29 17:12:42 -06:00

12 lines
314 B
TypeScript

import { useEffect } from "react"
export function useWindowEvent<EventType extends keyof WindowEventMap>(
type: EventType,
handler: (event: WindowEventMap[EventType]) => void,
) {
useEffect(() => {
window.addEventListener(type, handler)
return () => window.removeEventListener(type, handler)
})
}