useRef“指的是一个值,但在这里被用作一个类型。”

问题描述 投票:0回答:1

我试图找出如何判断哪个元素被用作ref,即在我的情况下

const circleRef = useRef<AnimatedCircle>(undefined);

AnimatedCircle是来自第三方库的SVG组件,以这种方式定义它会导致错误

enter image description here

是否有一些通用的方法来定义哪个元素是红色的?

reactjs typescript react-hooks
1个回答
3
投票

AnimatedCircle是一种功能,而不是一种类型。这意味着它不能在TypeScript中代替类型使用,就像在useRef的泛型约束中一样。相反,您需要使用typeof operator转换为类型:

const circleRef = useRef<typeof AnimatedCircle | null>(null);
© www.soinside.com 2019 - 2024. All rights reserved.