javascript - 在 ES2015 中使用枚举

标签 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!"};

}

我得到的错误是

Uncaught TypeError: Cannot read property 'INVALID_DATA' of undefined

最佳答案

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

要么使用默认导出:

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

或者使用命名导入:

import {Types} from '...';

了解更多关于 import 的信息和 export在 MDN 上。

关于javascript - 在 ES2015 中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233595/

相关文章:

javascript - 我如何在 React js 中获得多个选择选项?

javascript - Bootstrap 设置弹出框内容

java - 如何使用 EnumSet 将 2 位组合到单个字段中?

reactjs - react .JS : How to loop over all NavBar buttons and remove their class and add "active" class to the clicked button

javascript - 箭头函数的 this 值

Javascript 逻辑运算符 AND 在 'if' 条件内

javascript - 尝试将文件上传到 Google Drive api 时收到 404,怀疑存在数据格式问题

java - 一个枚举问题

java - 为什么枚举不是常量表达式?

javascript - 对象.defineProperty : setters for dom elements properties