UNPKG

@wayz/react-gl

Version:

React Component for DeckGL, Base on AMap, Mapbox GL

24 lines (23 loc) 780 B
import { useMemo, useRef } from 'react'; function useMemoizedFn(fn) { if (process.env.NODE_ENV === 'development') { if (typeof fn !== 'function') { console.error("useMemoizedFn expected parameter is a function, got ".concat(typeof fn)); } } var fnRef = useRef(fn); fnRef.current = useMemo(function () { return fn; }, [fn]); var memoizedFn = useRef(); if (!memoizedFn.current) { memoizedFn.current = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } // @ts-expect-error return fnRef.current.apply(this, args); }; } return memoizedFn.current; } export default useMemoizedFn;