@schema-render/core-react
Version:
Through a set of simple JSON Schema, efficiently build a set of forms.
34 lines (33 loc) • 990 B
JavaScript
/**
* fork from https://github.com/alibaba/hooks/blob/master/packages/hooks/src/useMemoizedFn/index.ts
*/ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return useMemoizedFn;
}
});
var _react = require("react");
function useMemoizedFn(fn) {
var fnRef = (0, _react.useRef)(fn);
var memoizedFn = (0, _react.useRef)();
// why not write `fnRef.current = fn`?
// https://github.com/alibaba/hooks/issues/728
fnRef.current = (0, _react.useMemo)(function() {
return fn;
}, [
fn
]);
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;
}