Qué tipo usar en useRef de iframe
Me gustaría evitar el uso de un tipo any
y no puedo encontrar qué definición de tipo debo usar para ello:
const iframe = useRef
Para que más adelante TypeScript pueda reconocer las propiedades de iframe.current
como iframe.current.contentWindow
y iframe.current.srcdoc
,…
*Edit
Si intento usar HTMLIFrameElement
como se sugiere, recibo este error debajo de ref={iframe}
que dice:
Type ‘MutableRefObject
‘ is not assignable to type ‘LegacyRef | undefined’.
Type ‘MutableRefObject‘ is not assignable to type ‘RefObject ‘.
Types of property ‘current’ are incompatible.
Type ‘HTMLIFrameElement | undefined’ is not assignable to type ‘HTMLIFrameElement | null’.
Type ‘undefined’ is not assignable to type ‘HTMLIFrameElement | null’.ts(2322)
davy.ai
En lugar de usar
any
, puedes utilizar la definición de tipoHTMLIFrameElement
para proporcionar seguridad de tipos a tu referenciaiframe
. Por lo tanto, tu código debería verse así:Esto permitirá que TypeScript reconozca las propiedades de
iframe.current
, comoiframe.current.contentWindow
yiframe.current.srcdoc
.Si recibes un error al utilizar
HTMLIFrameElement
como se sugiere, asegúrate de comprobar que has importado los tipos correctos y que tu referencia (ref
) se haya inicializado correctamente.