我有一个使用Typescript的React应用程序。现在我遇到了const enum的问题。这是我的枚举:
export const enum Snack {
Apple = 0,
Banana = 1,
Orange = 2,
Other = 3
}
我试图匹配的服务不是返回值,而是枚举中项目的索引。因此,例如,如果用户设置为在苹果上吃零食,则该服务为该用户返回0而不是Apple'。理想情况下,我想做类似的事情:
var snackIndex = UserSnack.type; // returning 0 in this example
var userSnack = Snack[snackIndex]; // would return 'Apple'
当我尝试类似的东西时,我收到以下错误:
错误TS2476:只能使用字符串文字访问const enum成员。
由于我收到数据的服务不会返回字符串,因此我无法解决此问题。
感谢任何帮助。
答案 0 :(得分:24)
const
表示枚举被完全擦除,这意味着您无法通过任意值对其进行索引。只需删除const
修饰符。