Files
NapCatQQ/.pnpm-store/v3/files/e1/3281a511d400992fddd5ddf28174584713dff79d08458ee5e95fdc0487cff164b432b7d94cef9e291b0e57a2306101efb4dfc6f533af2c335897eab07ffcfb
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

27 lines
892 B
Plaintext

import { useMemo, useRef } from 'react';
import { isFunction } from '../utils';
import isDev from '../utils/isDev';
var useMemoizedFn = function (fn) {
if (isDev) {
if (!isFunction(fn)) {
console.error("useMemoizedFn expected parameter is a function, got ".concat(typeof fn));
}
}
var fnRef = useRef(fn);
// why not write `fnRef.current = fn`?
// https://github.com/alibaba/hooks/issues/728
fnRef.current = useMemo(function () { return fn; }, [fn]);
var memoizedFn = useRef(undefined);
if (!memoizedFn.current) {
memoizedFn.current = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return fnRef.current.apply(this, args);
};
}
return memoizedFn.current;
};
export default useMemoizedFn;