File tree 1 file changed +7
-2
lines changed
packages/@react-stately/tooltip/src
1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -46,6 +46,7 @@ export function useTooltipTriggerState(props: TooltipTriggerProps = {}): Tooltip
46
46
let { isOpen, open, close} = useOverlayTriggerState ( props ) ;
47
47
let id = useMemo ( ( ) => `${ ++ tooltipId } ` , [ ] ) ;
48
48
let closeTimeout = useRef < ReturnType < typeof setTimeout > > ( ) ;
49
+ let closeCallback = useRef < ( ) => void > ( close ) ;
49
50
50
51
let ensureTooltipEntry = ( ) => {
51
52
tooltips [ id ] = hideTooltip ;
@@ -81,11 +82,11 @@ export function useTooltipTriggerState(props: TooltipTriggerProps = {}): Tooltip
81
82
if ( immediate || closeDelay <= 0 ) {
82
83
clearTimeout ( closeTimeout . current ) ;
83
84
closeTimeout . current = null ;
84
- close ( ) ;
85
+ closeCallback . current ( ) ;
85
86
} else if ( ! closeTimeout . current ) {
86
87
closeTimeout . current = setTimeout ( ( ) => {
87
88
closeTimeout . current = null ;
88
- close ( ) ;
89
+ closeCallback . current ( ) ;
89
90
} , closeDelay ) ;
90
91
}
91
92
@@ -119,6 +120,10 @@ export function useTooltipTriggerState(props: TooltipTriggerProps = {}): Tooltip
119
120
}
120
121
} ;
121
122
123
+ useEffect ( ( ) => {
124
+ closeCallback . current = close ;
125
+ } , [ close ] ) ;
126
+
122
127
// eslint-disable-next-line arrow-body-style
123
128
useEffect ( ( ) => {
124
129
return ( ) => {
You can’t perform that action at this time.
0 commit comments