gpt4 book ai didi

typescript - 如何在 typescript 中创建枚举值作为类型/接口(interface)?

转载 作者:行者123 更新时间:2023-12-04 08:57:18 25 4
gpt4 key购买 nike

我有枚举:

enum DemoEnum {
a = 'EnumValueA',
b = 'EnumValueB'
}

我想创建 type Type = 'EnumValueA' | 'EnumValueB'来 self 的枚举值。

我该怎么做?

我目前的状态是“ key ”类型:

type Type = keyof typeof DemoEnum // 'a' | 'b'

例如,我想在我的 react Prop 中使用它。

type Props {
value: 'EnumValueA' | 'EnumValueB',
}

万一使用<MyComponent value='EnumValueA'>

type Props {
value: DemoEnum,
}

我收到一个错误 Type .. is not assignable to DemoEnum

最佳答案

Template Literal Types发布后,你可以直接用它来得到你想要的:

type Enum = `${DemoEnum}` //  "EnumValueA" | "EnumValueB"

关于typescript - 如何在 typescript 中创建枚举值作为类型/接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63746463/

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