TypeScriptを使用しているReactアプリケーションがあります。現在、const列挙型の問題に直面しています。列挙型は次のとおりです。
export const enum Snack {
Apple = 0,
Banana = 1,
Orange = 2,
Other = 3
}
一致させようとしているサービスは値を返していませんが、列挙内のアイテムのインデックスを返しています。したがって、たとえば、ユーザーがAppleで軽食をするように設定されている場合、サービスはそのユーザーに対して「Apple」ではなく0を返します。理想的には、私は次のようなことをしたいです:
var snackIndex = UserSnack.type; // returning 0 in this example
var userSnack = Snack[snackIndex]; // would return 'Apple'
同様のことをしようとすると、次のエラーが表示されます。
エラーTS2476:const enumメンバーは、文字列リテラルを使用してのみアクセスできます。
データを受信しているサービスが文字列を返さないため、これを機能させるのに問題があります。
どんな助けも大歓迎です。
列挙型のconst
は、列挙型が完全に消去されることを意味します。つまり、任意の値でインデックスを作成することはできません。 const
修飾子を削除するだけです。
TypeScriptで異なるenumバリアントはどのように機能しますか? も参照してください。