Estou tentando obter a largura do componente filho no meu pai em reação:
import { FC, PropsWithChildren, useRef } from "react";
const MyParent: FC<PropsWithChildren> = (props) => {
const myref = useRef(null);
return (<MyChild ref={myref}/>)
}
const MyChild: FC<PropsWithChildren> = (props) => {
return (<View />)
}
No entanto, isso não será compilado. Estou tendo o erro a seguir:
Digite '{ref: MutableRefObject; }' não pode ser atribuído ao tipo 'IntrinsicAttributes & {children?: ReactNode; }'. A propriedade 'ref' não existe no tipo 'IntrinsicAttributes & {children?: ReactNode; }'.ts(2322)
Achei que todo objeto poderia ser usado como referência. Como posso usar uma referência para meu filho?
Isso porque
ref
é um adereço preservado do react e você não pode especificá-lo diretamente como adereços. Mas você pode usarforwardRef
a função para fazer isso:Você pode ler mais na documentação oficial ( https://react.dev/reference/react/forwardRef )