【发布时间】:2019-08-22 21:01:20
【问题描述】:
这很难描述,但请参阅我的flow.org/try snippet 以获取最少的重现代码示例。
我的 sn-p 被剥离的实际代码有更多的类型和操作,但核心思想在底部 - 记住记录和类型操作查找之间的关联。 JavaScript 是健全的并且在理论上是可证明的,但 Flow 似乎没有能力处理这个操作。
对于如何处理标记联合类型的问题,我遇到了几个变体,我的目标是按类型组织 display 和其他操作,以便更轻松地维护不同的记录。过去的方法涉及使用 switch(或 if/else)语句对 type 字段执行类型细化,但随着类型和操作的数量增加(我现在有超过 30 种类型和超过 6 种不同的操作),这些方法变得笨拙.
我希望 Flow 的分支分析和类型细化功能可以处理此代码,因为 MyRecord 的子类型数量有限(我们不是在这里解决停止问题,只是在实践中证明了可靠性)。
我打算在 GitHub 上发帖,因为这可能是 Flow 开发问题,但我想从 StackOverflow 开始,因为也许有更好的方法来构建此代码。
【问题讨论】:
标签: javascript flow-typed