Я использую Typescript, Redux и React, и все они являются новыми для меня, так что, вероятно, есть простое исправление, которое я просто не вижу.
У меня есть файл actions.ts, который содержит перечисление вроде этого:
export enum AnimalTypes {
CAT = 'CAT',
DOG = 'DOG'
}
Я импортирую его в свой файл redurs.ts и пытался использовать его в операторе журнала следующим образом:
import {AnimalTypes} from './actions';
export function someFunction() {
// Print the word "CAT"
console.log(AnimalTypes[AnimalTypes.CAT]);
}
При попытке запустить мой сайт появляется следующая ошибка:
TypeError: Cannot read property 'CAT' of undefined
at someFunction (reducer.ts:5)
at combineReducers.js:20
etc.
Моя среда IDE не выдает мне ошибок, а также TSLint. Я прочитал кучу онлайн, пытаясь найти ответ, но ближе всего я подошел к кому-то, у кого не было ключевого слова "export" в их enum, и я знаю.
Что здесь может происходить? Буду благодарен за любую помощь.
Спасибо.
EDIT:
Проблема не в обратном отображении, а в любом использовании enum. Это было только самое короткое использование, которое я мог придумать. Я на самом деле использую его в выражении switch:
import {AnimalTypes} from './actions';
export function otherFunction(animal) {
switch (animal.type) {
case AnimalTypes.CAT:
// Do stuff
}
Когда я строю код выше, я получаю эту ошибку Uncaught TypeError: Cannot read property 'CAT' of undefined