gpt4 book ai didi

flowtype - flowjs中的奇怪错误消息 "inconsistent use of library definitions"

转载 作者:行者123 更新时间:2023-12-01 08:24:43 25 4
gpt4 key购买 nike

我使用flowjs已经有一段时间了,大多数错误信息都很清楚,但现在我得到了这样的东西:

src/framework/uitable/show.js:0
inconsistent use of library definitions
46: columns: Array<UiTableConfigColumnType>
^^^^^^^^^^^^^^^^^^^^^^^ object type. This type is incompatible with. See lib: src/framework/uitable/uitable.js.flow:46
52: type UiTableDataColsType = Array<string>;
^^^^^^ string. See lib: src/framework/uitable/uitable.js.flow:52

src/framework/uitable/show.js:0
inconsistent use of library definitions
52: type UiTableDataColsType = Array<string>;
^^^^^^ string. This type is incompatible with. See lib: src/framework/uitable/uitable.js.flow:52
46: columns: Array<UiTableConfigColumnType>
^^^^^^^^^^^^^^^^^^^^^^^ object type. See lib: src/framework/uitable/uitable.js.flow:46

并且不知道要寻找什么。

定义中的类型似乎没问题,它们彼此不相关,并且源指向第0行。

我以前从未见过此错误,我不希望在追查此错误的实际来源方面得到任何帮助。

我只需要一些帮助来理解错误本身的含义以及为什么 flowjs 在第 0 行报告错误 src/framework/uitable/show.js:0

最佳答案

inconsistent use of library definitions 是什么意思?什么意思?

大多数流错误发生在键入 A 时流入类型 B .例如,如果您调用一个函数,该函数需要一个类型为 B 的参数。 , 但是你通过类型 A .发生这种情况时,Flow 会输出有关如何键入 A 的错误。与类型 B 不兼容.

有时,你有类似的代码

// in file foo.js
libraryCallB(libraryCallA());

在这种情况下,返回类型可能为 libraryCallA()libraryCallB() 的参数类型不匹配.因此 Flow 会发出类型不兼容的错误。但是,由于两个库调用都是在库中定义的(例如 lib.js ),因此错误消息不会提及 foo.js一点也不。这并不理想,因为该错误可能在 foo.js:0 中。

所以,作为创可贴,我们只是有点坚持 foo.js:0在错误的顶部作为提示。这意味着我们正在检查 foo.js当我们注意到一种库类型流入不兼容的库类型时。

我们一直在努力改进错误消息,因此这些错误应该不会那么普遍。但它们仍然会发生。

你的代码呢?

  • 错误可能出现在 src/framework/uitable/show.js 的某处
  • 试试 flow check --traces 10它运行正常 flow check ,但会保存这些“跟踪”,它们有点像 Flow 内部类型检查逻辑的堆栈跟踪。 10表示打印到深度 10 的跟踪。除非您熟悉 Flow 的内部结构,否则很难理解输出,但可能会在 src/framework/uitable/show.js 中提及位置这会触发错误。
  • 我猜这个错误与 Array<string> 有关被用作 Array<UiTableConfigColumnType> ,反之亦然。

关于flowtype - flowjs中的奇怪错误消息 "inconsistent use of library definitions",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40192372/

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