FlowType:类型继承(类型A是类型B的子集...) [英] FlowType: Inheritance of Types (Type A is a subset of type B ...)

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆