【发布时间】:2019-10-12 03:31:34
【问题描述】:
我正在使用 react 设置对 svg 元素的引用,该元素可能是 <rect>、<polygon> 或 <ellipse>。
我有这个声明:
const shapeRef = useRef<SVGPolygonElement | SVGEllipseElement | SVGRectElement>(null);
但是当我尝试在 <ellipse> 元素上设置它时:
<ellipse
cx={width / 8}
cy={-sideDimension(y) / 8}
rx={width}
ry={height}
ref={shapeRef}
/>
我收到此错误:
类型 'RefObject' 不能分配给类型 'string | ((实例: SVGEllipseElement |空)=> 无效)|参考对象 | 空 |不明确的'。类型“RefObject”不可分配给类型 '参考对象'。 类型 'SVGPolygonElement | SVGEllipseElement | SVGRectElement' 不可分配给类型 'SVGEllipseElement'。 “SVGPolygonElement”类型缺少“SVGEllipseElement”类型的以下属性:cx、cy、rx、ryts(2322)
对此我的理解是,我需要以某种方式缩小类型以使其工作,否则使用此 ref 的每个对象都必须具有联合的所有属性。
【问题讨论】:
-
你看到我的回答了吗?有帮助吗?如果您需要更多帮助,请告诉我
-
如果我的回答没有帮助,请与我交流,以便我进行更改。宽限期在 10 小时后结束
-
@Thatkookooguy 你现在应该有赏金了,如果你没有得到它,请告诉我
-
谢谢!明白了:-)
标签: reactjs typescript svg