diff --git a/packages/hooks/src/useLockFn/index.ts b/packages/hooks/src/useLockFn/index.ts
index 5ce96fba40..a1831102a7 100644
--- a/packages/hooks/src/useLockFn/index.ts
+++ b/packages/hooks/src/useLockFn/index.ts
@@ -1,23 +1,20 @@
import { useRef, useCallback } from 'react';
-
+import useMemoizedFn from '../useMemoizedFn';
function useLockFn
(fn: (...args: P) => Promise) {
const lockRef = useRef(false);
- return useCallback(
- async (...args: P) => {
- if (lockRef.current) return;
- lockRef.current = true;
- try {
- const ret = await fn(...args);
- lockRef.current = false;
- return ret;
- } catch (e) {
- lockRef.current = false;
- throw e;
- }
- },
- [fn],
- );
+ return useMemoizedFn(async (...args: P) => {
+ if (lockRef.current) return;
+ lockRef.current = true;
+ try {
+ const ret = await fn(...args);
+ lockRef.current = false;
+ return ret;
+ } catch (e) {
+ lockRef.current = false;
+ throw e;
+ }
+ });
}
export default useLockFn;