Files
LingChair/client/ui/useEventListener.js
CrescentLeaf ca6aea2902 feat(wip): 前端, 以及編譯前端
TODO: 修復 webpack (in mian.ts)
2025-08-30 15:36:36 +08:00

18 lines
442 B
JavaScript

/**
* @callback callback
* @param { Event } event
*/
/**
* 绑定事件
* @param { React.Ref } ref
* @param { String } eventName
* @param { callback } callback
*/
export default function useEventListener(ref, eventName, callback) {
React.useEffect(() => {
ref.current.addEventListener(eventName, callback)
return () => ref.current.removeEventListener(eventName, callback)
}, [ref, eventName, callback])
}