Estoy tratando de descubrir cómo decirle a reaccionar qué elemento se está usando como referencia, es decir, en mi caso
const circleRef = useRef<AnimatedCircle>(undefined); AnimatedCircle es un componente SVG de una biblioteca de terceros, y definirlo de esta manera provoca un error
¿Hay alguna forma universal de definir qué elemento es ref?
En mi caso, cambié el nombre del archivo como .ts en lugar de .tsx . Cambiarle el nombre de nuevo lo arregló.
AnimatedCircle es una función , no un tipo. Esto significa que no se puede usar en TypeScript en lugar de un tipo, como en la restricción genérica de useRef . En su lugar, debe usar el typeof operator para convertir a un tipo:
const circleRef = useRef<typeof AnimatedCircle | null>(null);Estaba recibiendo el mismo error en
ReactDOM.render( <App store={store} persistor={persistor} basename={PUBLIC_URL} />, document.getElementById("root"); Y cambié el nombre del archivo a .tsx y eso solucionó el problema. La razón es que, cuando usa React o ReactDOM , debe cambiar el nombre del archivo a .tsx en lugar de ts . Para JavaScript , .js funciona, pero para TypeScript , .ts no funciona.