1- import React , { forwardRef , ReactElement , useMemo } from 'react' ;
1+ import { composeRef , getNodeRef , supportRef } from 'rc-util/lib/ref' ;
2+ import React , { forwardRef , useMemo } from 'react' ;
23import type { DropdownProps } from './Dropdown' ;
3- import { composeRef , supportRef } from 'rc-util/lib/ref' ;
44
5- export type OverlayProps = Pick < DropdownProps , 'overlay' | 'arrow' | 'prefixCls' >
5+ export type OverlayProps = Pick <
6+ DropdownProps ,
7+ 'overlay' | 'arrow' | 'prefixCls'
8+ > ;
69
710const Overlay = forwardRef < HTMLElement , OverlayProps > ( ( props , ref ) => {
8- const { overlay, arrow, prefixCls} = props ;
11+ const { overlay, arrow, prefixCls } = props ;
912
1013 const overlayNode = useMemo ( ( ) => {
1114 let overlayElement : React . ReactElement ;
@@ -17,14 +20,16 @@ const Overlay = forwardRef<HTMLElement, OverlayProps>((props, ref) => {
1720 return overlayElement ;
1821 } , [ overlay ] ) ;
1922
20- const composedRef = composeRef ( ref , ( overlayNode as ReactElement & { ref : React . Ref < HTMLElement > } ) ?. ref ) ;
23+ const composedRef = composeRef ( ref , getNodeRef ( overlayNode ) ) ;
2124
2225 return (
2326 < >
2427 { arrow && < div className = { `${ prefixCls } -arrow` } /> }
25- { React . cloneElement ( overlayNode , { ref : supportRef ( overlayNode ) ? composedRef : undefined } ) }
28+ { React . cloneElement ( overlayNode , {
29+ ref : supportRef ( overlayNode ) ? composedRef : undefined ,
30+ } ) }
2631 </ >
27- )
32+ ) ;
2833} ) ;
2934
30- export default Overlay ;
35+ export default Overlay ;
0 commit comments