Sam*_*Sam 2 javascript enums ecmascript-6
如何在ES2015中使用枚举?我尝试了以下但是我遇到了错误:
为我的枚举创建了一个文件,即errorTypes.js
export const Types = {
MISSING_DATA: 0,
INVALID_DATA: 1
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试将其导入我的React组件并按如下方式使用它:
import errorTypes from '../enums/errorTypes';
handleOnClick(event) {
// Some logic here
const newError = {type: errorTypes.INVALID_DATA, message: "Please type carefully!"};
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
未捕获的TypeError:无法读取未定义的属性"INVALID_DATA"
您没有正确导入或导出数据.您收到错误是因为您尝试从模块导入默认导出,但由于模块没有默认导出,因此errorTypes最终会出现错误undefined.
使用默认导出:
export default {
MISSING_DATA: 0,
INVALID_DATA: 1,
};
Run Code Online (Sandbox Code Playgroud)
或使用命名导入:
import {Types} from '...';
Run Code Online (Sandbox Code Playgroud)