我想做的是非常基本的。给定一个对象,并且不关心属性名称,我想确保其所有值均为某种类型。

因此,我有类似以下代码的内容:

// @flow

type DynamicStructure = {
    [string]: number
}

const key: string = "someKey"
const someStructure: DynamicStructure = {
    [key]: "invalid, should be a number"
}


奇怪的是我得到“没有错误!”在上面的代码上应用Flow之后,这显然是错误的。您可以在Flow REPL上验证此行为

另一方面,当我不为对象使用动态访问器时,一切都会按预期进行。例如,对于以下代码,我得到了预期的错误:

// @flow

type DynamicStructure = {
    [string]: number
}

const someStructure: DynamicStructure = {
    "someKey": "invalid, should be a number"
}


难道我做错了什么?还是这是流量问题?

提前致谢。

最佳答案

是的,这看起来像是Flowtype错误:https://github.com/facebook/flow/issues/2928

关于javascript - 流:使用动态访问器对动态对象进行类型检查时误报,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49419425/

10-13 00:18