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

Kil*_*lam 29 javascript reactjs flowtype

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

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

Chr*_*ris 5

在撰写本文时,您可以通过从此处获取接口文件来将两者结合使用:

https://github.com/facebook/immutable-js/blob/master/type-definitions/immutable.js.flow

  1. 例如,在项目中创建目录interfaces.
  2. 创建一个.flowconfigif它不存在,并添加以下行

.flowconfig

[libs]
interfaces/
Run Code Online (Sandbox Code Playgroud)

这将在./interfaces/Flow定义的目录中查找.

尽管在SO上链接到资源是不受欢迎的,但在这种情况下它是有意义的,因为它将是最新的(我假设FB会在更新核心库时保持更新)

  • 是否有可能得到一个使用它的例子.这个不可变版本的类型会是什么样的?`type someObject = {fieldOne:string,fieldTwo:number};` (3认同)

小智 3

编辑添加自最新主要版本以来已添加流类型。

原答案:

看起来 Flow 和 Immutable.js 之间的集成正在开发中,但尚未完成。