React 19 introduces a new alternative to the existing forwardRef
that is called ref
as prop:
https://react.dev/blog/2024/12/05/react-19#ref-as-a-prop
But unfortunately the example provided in the blog post is written in JavaScript, not TypeScript::
function MyInput({placeholder, ref}) {
return <input placeholder={placeholder} ref={ref} />
}
//...
<MyInput ref={ref} />
So in TypeScript, what is the correct type the ref
prop?
2
Answers
It seems
React.RefObject
is not correct. I have no error withReact.Ref
:Don't forget mark it as optional (
ref?: Ref<...>
).In more complex situations —such as my real case where I used
@lexical/[email protected]
, which appears to not completely compatible with React 19— I wrote theref
like this:Use
React.RefObject
: