【问题标题】:Using enum in ES2015在 ES2015 中使用枚举
【发布时间】:2016-12-20 01:28:07
【问题描述】:

如何在 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!"};

}

我得到的错误是

未捕获的类型错误:无法读取未定义的属性“INVALID_DATA”

【问题讨论】:

  • Types != errorTypes

标签: javascript enums ecmascript-6


【解决方案1】:

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

要么使用默认导出:

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

或使用命名导入:

import {Types} from '...';

在 MDN 上了解有关 importexport 的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-29
    • 2023-04-04
    • 2012-03-20
    • 2012-03-04
    相关资源
    最近更新 更多