javascript - es6 - const enum en Typescript
javascript enum (1)
Tengo una aplicación React que está utilizando Typescript. En este momento estoy teniendo un problema con const enum. Aquí está mi enumeración:
export const enum Snack {
Apple = 0,
Banana = 1,
Orange = 2,
Other = 3
}
El servicio con el que estoy tratando de coincidir no está devolviendo el valor, sino el índice del elemento dentro de la enumeración. Así, por ejemplo, si el usuario está configurado para comer una manzana, el servicio está devolviendo un 0 para ese usuario en lugar de ''Apple''. Idealmente, me gustaría hacer algo como:
var snackIndex = UserSnack.type; // returning 0 in this example
var userSnack = Snack[snackIndex]; // would return ''Apple''
Cuando intento algo similar me sale el siguiente error:
error TS2476: Solo se puede acceder a un miembro enumeración constante utilizando una cadena literal.
Dado que el servicio del que recibo los datos no devuelve la cadena, tengo problemas para que esto funcione.
Cualquier ayuda es apreciada.
const
en una enumeración significa que la enumeración se ha borrado completamente, lo que significa que no puede indexarla por un valor arbitrario. Solo quita el modificador de const
.
Consulte también ¿Cómo funcionan las diferentes variantes de enumeración en TypeScript?