@antmjs/vantui
Version:
一套适用于Taro3及React的vantui组件库
27 lines (25 loc) • 774 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.usePersistFn = void 0;
var _react = require("react");
var usePersistFn = function usePersistFn(fn) {
var fnRef = (0, _react.useRef)(fn);
// why not write `fnRef.current = fn`?
// https://github.com/alibaba/hooks/issues/728
fnRef.current = (0, _react.useMemo)(function () {
return fn;
}, [fn]);
var memoizedFn = (0, _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.usePersistFn = usePersistFn;