@zohodesk/hooks
Version:
Unified Component Library - Hooks
15 lines (14 loc) • 396 B
JavaScript
import { useRef, useCallback } from 'react';
/**
* refer: https://github.com/reactjs/rfcs/blob/useevent/text/0000-useevent.md
* @param {*} handler
* @returns
*/
export default function useEvent(handler) {
const handlerRef = useRef(handler);
handlerRef.current = handler;
return useCallback(function () {
const fn = handlerRef.current;
return fn && fn(...arguments);
}, []);
}