我环顾了各种github 线程,似乎在 Flow.js 的当前版本中没有合并/提供 SVG 支持(我正在使用 VS Code 扩展vscode-flow-ide
)。我正在尝试使用 SVG 参考,现在不得不混合使用不太具体的类型 ( Element
) 并// $FlowFixMe
解决这些问题 - 从更广泛的类型安全角度来看并不理想。
有人解决了这个问题吗?我/flow/lib/dom.js
目前正在使用,但缺少这些类型。
我环顾了各种github 线程,似乎在 Flow.js 的当前版本中没有合并/提供 SVG 支持(我正在使用 VS Code 扩展vscode-flow-ide
)。我正在尝试使用 SVG 参考,现在不得不混合使用不太具体的类型 ( Element
) 并// $FlowFixMe
解决这些问题 - 从更广泛的类型安全角度来看并不理想。
有人解决了这个问题吗?我/flow/lib/dom.js
目前正在使用,但缺少这些类型。
临时解决方案,直到正式包含在内......
对于缺少的类型,请为您打算使用的属性子集实现您自己的类型。
例如,我正在操作 SVG,所以在一个文件中SVGElement.js.flow
(以DOM 类型命名):
type SVGElement = HTMLElement &
{
fonts: [],
fillOpacity: number
//...
//In reality, SVGElement has many more properties, but you can include
//only those you will use and which thus require type-safety.
//You can add whatever you need, incrementally, as time passes.
}
仅键入方法和属性的子集比必须实现整个类型更容易。
在&
允许从继承HTMLElement
存在于/flow/lib/dom.js
; 请参阅交叉路口类型。