We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d111d95 commit 2c9931fCopy full SHA for 2c9931f
packages/ui-react-utils/src/safeCloneElement.ts
@@ -60,7 +60,13 @@ function safeCloneElement<
60
...children: ReactNode[]
61
) {
62
const cloneRef = props.ref
63
- const originalRef = element.ref
+ // Support both React 18 (element.ref) and React 19+ (element.props.ref)
64
+ // TypeScript's ReactElement type does not always include a 'ref' property,
65
+ // so we use 'as any' to safely access it for React 18 compatibility.
66
+ const originalRef =
67
+ element.props && element.props.ref !== undefined
68
+ ? element.props.ref
69
+ : (element as any).ref
70
const originalRefIsAFunction = typeof originalRef === 'function'
71
const cloneRefIsFunction = typeof cloneRef === 'function'
72
0 commit comments