gpt4 book ai didi

javascript - 从对象类型属性创建别名类型

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:33 25 4
gpt4 key购买 nike

我遇到以下问题 Flow :

我有一个对象的类型别名,A:

type A = {
B: {
C: string
}
}

我想创建另一个类型别名 B,即具有 AB 属性的签名。

我尝试使用 type B = A.B; 但 Flow 抛出以下错误:

[flow] [flow] B (Property cannot be accessed on type `A`)

我找到了一个解决方案,但它有点棘手而且一点也不优雅:

type A = {
B: {
C: string
}
}

//FAKE constant of type A
const fakeA : A = (null : any);

type B = typeof fakeA.B;

还有其他解决方案吗?

感谢您的帮助。

最佳答案

您可以使用$PropertyType帮助器

type A = {
B: {
C: string
}
}

type B = $PropertyType<A, 'B'>

参见https://flow.org/en/docs/types/utilities/#toc-propertytype获取完整文档。

关于javascript - 从对象类型属性创建别名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42232564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com