问题标签 [flowtype]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1170 浏览

javascript - 流类型注释和有效的 JavaScript 源

我正在玩 Facebook 的新流类型检查系统。

Flow 中,遇到 Underscore似乎他们更改了此 JavaScript 代码

进入这个

但这不再是有效的 JavaScript,对吧?我理解为什么外部接口文件会很有用,但是类型注释如何直接添加到有效的 JavaScript 源中?

以前,Google Closure 编译器和其他项目使用的 JS 注释。

0 投票
1 回答
408 浏览

javascript - 向 grunt 服务器开发工作流添加流类型检查

我已经添加grunt-flow-type-check到我的Gruntfile.js并且它在watch. 如何添加任务以从发送到浏览器的代码中去除流类型注释?

流服务器似乎自动执行此操作,但我想在我现有的基于 grunt-server 的开发工作流程中使用流检查。

另外,如何添加自定义接口文件以供引用,grunt-flow-type-check而不必在我的实际代码中包含声明?

0 投票
2 回答
4120 浏览

javascript - 使用 immutable.js 和 Facebook 流进行静态类型检查

我一直在为我的 react 应用程序使用Immutable.js,我很喜欢它。Facebook 还发布了Flow。Flow 可以让我做一些很酷的事情,比如 prop 类型的编译时验证。问题是我的道具通常是不可变的对象。有没有一起使用 Immutable.js 和 Flow 的好方法?

给定一个 Immutable.js 对象参数,我可以使用 Flow 以某种方式指定它应该包装的对象的类型吗?在该对象中,我可能有字符串、数字、布尔值,更重要的是还有其他 Immutable.js 对象。

0 投票
1 回答
7672 浏览

javascript - React 组件流类型检查中的可选功能道具失败

我正在使用 React 的 PropTypes 和 Flow 类型检查器,但在获取可选函数 prop 以通过类型检查时遇到问题。这是一个例子:

虽然我正在检查this.props.exampleFn不是 null,但针对此代码运行 Flow 的类型检查器会给我错误

我尝试了不同的变体,例如
if (this.props.exampleFn !== null && this.props.exampleFn !== undefined) {...}
or
this.props.exampleFn && this.props.exampleFn()
等​​,以知道我们正在防范可能为 null/undefined 的值,但我找不到任何有效的方法。当然,将道具类型更改为React.PropTypes.func.isRequired不会出现错误,但我想保持这个道具是可选的。

我怎样才能获得一个可选的函数道具来通过类型检查?

0 投票
2 回答
732 浏览

javascript - 将 Flow 用于浏览器应用程序

我想为浏览器应用程序使用 Flow(Facebook 的 JavaScript 静态类型检查器)。如何让 Flow 跟踪给定 .js 文件正在使用的其他 .js 文件?在 Node.js 中,该require功能的使用使 Flow 跟随其他模块并检查类型错误,我也希望浏览器应用程序具有类似的功能。

假设我有一个Classroom.js使用模块的文件Student.js。当我运行 Flow 时,它会抛出错误identifier Student Unknown global name

0 投票
2 回答
2892 浏览

javascript - Flow 的“JQuery 接口文件”(来自 Facebook 的 JavaScript 的静态类型检查器)?

2014 年 11 月,3 个月前,Facebook 开源了一个新的命令行工具,一个名为“ Flow ”的静态类型检查器。现在我想在一些旧的、现有的 javascript 文件上运行它。这些包含对 jQuery 库的引用。

我的 JS 文件在编写时没有考虑到静态类型检查。但是,在文件顶部包含 /* @flow */ 之后,当我使用此命令运行流程时:

结果:

据我了解,将 jQuery 包含到Flow的类型检查过程中的方法是创建一个“接口文件”

有没有人为 jQuery 库做过这个?(我使用 jQuery 1.9)

0 投票
1 回答
1419 浏览

javascript - 如何在不破坏格式化程序的情况下为流类型声明反应组件的模块类型?

我定义了一个反应组件并使用流程来检查它:

但是flow报错:

因为 flow 需要一个具有明确类型的模块:http: //flowtype.org/docs/type-annotations.html#module-boundaries

对于一个反应组件,我需要在render方法上声明类型,所以我必须像这样修复它:

问题是,它会破坏我的 IDEA 的格式化程序(因为?of ?ReactElement

还有其他地方可以放?ReactElement吗?

0 投票
2 回答
2139 浏览

jshint - 如何继续在 facebook flow 中使用 jshint?

我正在使用http://jshint.com/并且还想使用http://flowtype.org/。一旦我添加了静态类型,jshint 就会跳出来,因为它不理解: Object.function(options: Object)

有人在 Flow 中使用过 jshint 吗?我真的很喜欢 jshint,并且更愿意继续在 Flow 旁边使用它。

0 投票
2 回答
417 浏览

homebrew - FlowType 未与 Brew 一起安装

我无法使用 brew 在 Mac OS 上安装 FlowType。我输入:

怎么了?

0 投票
1 回答
491 浏览

reactjs - 如果在 node_modules 中有 react 和 react-native 时,flow 会抱怨

react-nativereact位于 中时./node_modulesflow将抱怨“重复的提供程序模块错误”。

module.system = haste在我的.flowconfig.

是否有一种解决方法而不使流程忽略其中一个?