我正在尝试创建对react + typescript的引用:
class BarChart extends Component {
private node: React.RefObject<SVGSVGElement | null>;
constructor(props) {
super(props);
this.node = React.createRef();
}
...
}
这是我要参考的svg代码:
<svg ref={node => (this.node = node)} width={500} height={500} />
但是我得到这个错误:
Type 'SVGSVGElement | null' is not assignable to type 'RefObject<SVGSVGElement | null>'.
Type 'null' is not assignable to type 'RefObject<SVGSVGElement | null>'.
有帮助吗?我是新来的人
答案 0 :(得分:0)
ref
属性需要React.RefObject<TElement>
或回调(TElement | null) => void
或null
。
有两种方法可以使代码工作:
将this.node
传递到ref
属性:
<svg ref={this.node} width={500} height={500} />
将this.ref
的类型更改为SVGSVGElement | null
:
private ref: SVGSVGElement | null = null;