context-state
Version:
Like unstated-next, but Pro
23 lines (22 loc) • 629 B
JavaScript
;
var react = require('react');
// src/utils/use-memo-fn.ts
function useMemoFn(fn) {
var fnRef = react.useRef(fn);
fnRef.current = react.useMemo(function() {
return fn;
}, [
fn
]);
var memoizedFn = react.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;
}
exports.useMemoFn = useMemoFn;