Ecmascript 6 如何抑制流符号错误?

Ecmascript 6 如何抑制流符号错误?,ecmascript-6,babeljs,flowtype,Ecmascript 6,Babeljs,Flowtype,我正在尝试在流中为我的一个对象创建类型定义。我不确定流是否支持符号,但在这种情况下,如何跳过此警告 const version: Version = this.getVersion(12345); const upLink: string = version[Symbol.for('__my_amazing_symbol')]; 但是在验证上面的行时,我在运行流检查时出现以下错误 Error: src/local.js:197 197: const upLink

我正在尝试在流中为我的一个对象创建类型定义。我不确定流是否支持
符号
,但在这种情况下,如何跳过此警告

 const version: Version = this.getVersion(12345);
 const upLink: string = version[Symbol.for('__my_amazing_symbol')];
但是在验证上面的行时,我在运行
流检查时出现以下错误

Error: src/local.js:197
197:               const upLink: string = version[Symbol.for('__my_amazing_symbol')];
                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ access of computed property/element. Computed property cannot be accessed with
197:               const upLink: string = version[Symbol.for('__my_amazing_symbol')];
                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Symbol


Found 2 errors
这是我喜欢的类型

declare export type Version = {
        name: string;
        version: string;
    };
流程配置

[ignore]
.*/node_modules/.*
lib/.*

[include]

[libs]
node_modules/@mod/types/lib/

[lints]

[options]
suppress_comment= \\(.\\|\n\\)*\\$FlowFixMe
unsafe.enable_getters_and_setters=true

[version]
^0.52.0

我认为类型错误与
Symbol
本身无关。Flow告诉您的是,您使用键
name
Version
声明了
Version
类型,但现在您正在该对象上查找一个符号,它不是该类型的一部分。如果执行
version[“randomString”]
,则会出现类似错误,因为该属性未声明为
version
类型的一部分

正如另一条评论所提到的,您可以使用
$FlowFixMe
忽略错误。但是这个代码本身可能是不安全的,因为您依赖于在这个对象上定义的额外符号,但不让流证明它。您可以尝试以一种避免进行这些动态查找的方式对
版本
类型进行建模


(编辑:啊,好吧,看起来我说得太快了。Flow不喜欢使用计算机符号键,尽管理论上它可以检查它们。请查看此问题:)

您是否在行前尝试过/$FlowFixMe,我在您的配置中看到了它也请编辑您的问题标题,应该是:如何抑制流符号错误?/$FlowFixMe应该是有效答案。:)它对我有用。感谢您的建议,我将更新标题。是的,我知道缺少对符号的支持,同时
/$FlowFixMe
解决了这个问题。我希望Facebook能尽快解决这个问题。