File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -54,12 +54,15 @@ export const Menu = React.forwardRef(function Menu<T extends object>(props: Spec
5454 let { styleProps} = useStyleProps ( completeProps ) ;
5555 useSyncRef ( contextProps , domRef ) ;
5656 let [ leftOffset , setLeftOffset ] = useState ( { left : 0 } ) ;
57- let [ prevPopoverContainer , setPrevPopoverContainer ] = useState < HTMLElement | null > ( null ) ;
58- if ( popoverContainer && prevPopoverContainer !== popoverContainer && leftOffset . left === 0 ) {
59- let { left} = popoverContainer . getBoundingClientRect ( ) ;
60- setLeftOffset ( { left : - 1 * left } ) ;
61- setPrevPopoverContainer ( popoverContainer ) ;
62- }
57+ let prevPopoverContainer = useRef < HTMLElement | null > ( null ) ;
58+
59+ useLayoutEffect ( ( ) => {
60+ if ( popoverContainer && prevPopoverContainer . current !== popoverContainer && leftOffset . left === 0 ) {
61+ prevPopoverContainer . current = popoverContainer ;
62+ let { left} = popoverContainer . getBoundingClientRect ( ) ;
63+ setLeftOffset ( { left : - 1 * left } ) ;
64+ }
65+ } , [ leftOffset ] ) ;
6366
6467 let menuLevel = contextProps . submenuLevel ?? - 1 ;
6568 let nextMenuLevelKey = rootMenuTriggerState ?. expandedKeysStack [ menuLevel + 1 ] ;
You can’t perform that action at this time.
0 commit comments