在ES2015中使用枚举

时间:2016-12-20 01:28:07

标签: javascript enums ecmascript-6

如何在ES2015中使用枚举?我尝试了以下但是我遇到了错误:

为我的枚举创建了一个文件,即errorTypes.js

export const Types = {
   MISSING_DATA: 0,
   INVALID_DATA: 1
}

然后我尝试将其导入到我的React组件中并按如下方式使用它:

import errorTypes from '../enums/errorTypes';

handleOnClick(event) {

   // Some logic here
   const newError = {type: errorTypes.INVALID_DATA, message: "Please type carefully!"};

}

我得到的错误是

  

未捕获的TypeError:无法读取未定义的属性“INVALID_DATA”

1 个答案:

答案 0 :(得分:6)

您没有正确导入或导出数据。您收到错误是因为您尝试从模块导入默认导出,但由于模块没有默认导出,errorTypes最终为undefined

使用默认导出:

export default {
  MISSING_DATA: 0,
  INVALID_DATA: 1,
};

或使用命名导入:

import {Types} from '...';

详细了解MDN上的importexport