diff --git a/packages/core/src/hooks/useTransition.tsx b/packages/core/src/hooks/useTransition.tsx
index 8acf4e182c..940b55e6ee 100644
--- a/packages/core/src/hooks/useTransition.tsx
+++ b/packages/core/src/hooks/useTransition.tsx
@@ -432,15 +432,17 @@ export function useTransition(
{transitions.map((t, i) => {
const { springs } = changes.get(t) || t.ctrl
const elem: any = render({ ...springs }, t.item, t, i)
- return elem && elem.type ? (
-
- ) : (
- elem
- )
+
+ const key = is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id
+ const isLegacyReact = React.version < '19.0.0'
+
+ const props = elem?.props ?? {}
+
+ if (isLegacyReact) {
+ props.ref = elem.ref
+ }
+
+ return elem && elem.type ? : elem
})}
>
)