web-dev-qa-db-ja.com

useRef "値を参照しますが、ここではタイプとして使用されています。"

私はどの要素が参照として使用されているかを反応させる方法を理解しようとしています、つまり私の場合

const circleRef = useRef<AnimatedCircle>(undefined);

AnimatedCircleはサードパーティライブラリのSVGコンポーネントであり、このように定義するとエラーが発生します

enter image description here

どの要素が参照であるかを定義するいくつかの普遍的な方法はありますか?

21
Ilja

AnimatedCirclefunctionであり、型ではありません。つまり、useRefの一般的な制約のように、タイプの代わりにTypeScriptで使用することはできません。代わりに、typeof operatorをタイプに変換するには:

const circleRef = useRef<typeof AnimatedCircle | null>(null);
17
Dan Pantry

私の場合、ファイルの名前を.tsではなく.tsxに変更しました。名前を再度変更して修正しました。

14
Ishmeet Singh