context-state
Version:
Like unstated-next, but Pro
22 lines (21 loc) • 599 B
JavaScript
import { useRef, useMemo } from 'react';
// src/utils/use-memo-fn.ts
function useMemoFn(fn) {
var fnRef = useRef(fn);
fnRef.current = useMemo(function() {
return fn;
}, [
fn
]);
var memoizedFn = useRef();
if (!memoizedFn.current) {
memoizedFn.current = function() {
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
args[_key] = arguments[_key];
}
return fnRef.current.apply(this, args);
};
}
return memoizedFn.current;
}
export { useMemoFn };