FlowType:类型继承(类型A是类型B的子集...) [英] FlowType: Inheritance of Types (Type A is a subset of type B ...)
本文介绍了FlowType:类型继承(类型A是类型B的子集...)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
自发布以来 42,您可以 使用对象类型跨页。
type TypeB = { ...TypeA };
🎉
我想这确实是有关FlowType的初学者类型的问题,但我真的找不到令我满意的答案。
假设我有这些类型
type A = {
x: number
}
type B = {
y: string
}
现在我想要基于类型A和类型B的另一个类型,如下所示:
type C = {
...A,
...B,
z: boolean
}
哪个IMHO应该这样解释:
type C = {
x: number,
y: string,
z: boolean
}
但这显然不起作用。
你能给我一些建议或最佳实践吗?非常感谢。
推荐答案
这是一个常见的功能请求,实际上正在进行中。下面的a commit实现了类型扩散的解析。我不确定此功能的时间表是什么,但我相信它仍在进行中。
目前,您可以在某些情况下使用交叉点类型(尽管它们实际上不是为这个用例设计的,可能会导致混淆的问题):
type C = A & B & {
z: boolean
}
当然,您现在也可以只选择复制属性。这绝对是最简单的事情,尽管我同意这有点令人不快。
这篇关于FlowType:类型继承(类型A是类型B的子集...)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文