Skip to content

Commit 9014d4e

Browse files
committed
fix: use ref
1 parent aabca60 commit 9014d4e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

packages/compass-context-menu/src/context-menu-provider.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import React, {
55
useMemo,
66
createContext,
77
useContext,
8+
useRef,
89
} from 'react';
910

1011
import type {
@@ -48,6 +49,9 @@ export function ContextMenuProvider({
4849
[setMenu]
4950
);
5051

52+
const onContextMenuOpenRef = useRef(onContextMenuOpen);
53+
onContextMenuOpenRef.current = onContextMenuOpen;
54+
5155
const handleClosingEvent = useCallback(
5256
(event: Event) => {
5357
if (!event.defaultPrevented) {
@@ -70,7 +74,7 @@ export function ContextMenuProvider({
7074
return;
7175
}
7276

73-
onContextMenuOpen?.(itemGroups);
77+
onContextMenuOpenRef.current?.(itemGroups);
7478

7579
setMenu({
7680
isOpen: true,
@@ -102,8 +106,7 @@ export function ContextMenuProvider({
102106
capture: true,
103107
});
104108
};
105-
// eslint-disable-next-line react-hooks/exhaustive-deps
106-
}, [disabled, handleClosingEvent, parentContext]);
109+
}, [disabled, handleClosingEvent, onContextMenuOpenRef, parentContext]);
107110

108111
const value = useMemo(
109112
() => ({

0 commit comments

Comments
 (0)