gpt4 book ai didi

对象属性链上的 Flowtype "Not covered by Flow"

转载 作者:行者123 更新时间:2023-12-04 12:29:25 25 4
gpt4 key购买 nike

我正在尝试使用 Flow,但我不断收到“未被 Flow 覆盖”的警告,因此我的代码大多带有下划线。我查看了 Flow 文档,但它对对象属性链没有帮助,所以 你如何让这样的事情工作?

image

最佳答案

看来您正在使用没有类型定义的库。

通过在文件中定义对象的属性查找,Flow 具有 100% 的代码覆盖率,根本没有任何类型:

const foo = { bar: { baz: 2 } };
foo.bar.baz;
// 100% Flow coverage

单独的文件也是如此:

1.js
// @flow
export default { bar: { baz: 2 } };

2.js
// @flow
import foo from './1.js'
foo.bar.baz;
// 100% code coverage

但是,一旦从 Flow 未运行的文件中导入某些内容(因为它关闭了 Flow 或因为它的第三方库不使用 Flow),Flow 就无法覆盖它。

1.js
// @noflow
export default { bar: { baz: 2 } };

2.js
// @flow
import foo from './1.js'
foo.bar.baz;
// 0% code coverage

为了解决这个问题,您需要提供有关类型的 Flow 信息。

你可以做一些不同的事情
  • 制作 a.js流覆盖。
  • 添加 a.js.flow file that declare 's the types
  • 如果是第三方库add a flow-typed/a.js file that adds declarations.
  • 但一定要检查flow-typed查看定义文件是否已经存在。 (并回馈!)

  • 希望这足以帮助您至少为您提供一个起点

    关于对象属性链上的 Flowtype "Not covered by Flow",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38133923/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com