通过导入选择对象属性的问题

时间:2019-02-05 15:42:58

标签: javascript reactjs

我正在为减速器和动作创建者使用一些自定义类型,例如:

const types = {

    REQUEST_PENDING: 'ajax api request pending ...',
    REQUEST_SUCCESS: 'ajax api success',
    TOGGLE_SUGGESTIONS: '[ui] show/hide suggestions list'
}

export default types;

但是当我尝试将它们导入到其他文件中时

import { REQUEST_PENDING, REQUEST_SUCCESS } from '../types';

我收到此错误

Attempted import error: 'REQUEST_PENDING' is not exported from '../types'

2 个答案:

答案 0 :(得分:1)

如果types是默认导出,为什么不直接导出变量?

export const REQUEST_PENDING = 'ajax api request pending ...';
export const REQUEST_SUCCESS = 'ajax api success';
export const TOGGLE_SUGGESTIONS = '[ui] show/hide suggestions list';

您遇到的问题是您当前没有命名导出,只有默认导出,因此无法直接从模块导入命名值。

答案 1 :(得分:1)

您可以导入“类型”并像使用

import types from "../types";

types.REQUEST_PENDING
types.REQUEST_SUCCESS

或者您可以将REQUEST_PENDING和REQUEST_SUCCESS导出为常量

export const REQUEST_PENDING = "REQUEST_PENDING";
export const REQUEST_SUCCESS = "REQUEST_SUCCESS";

然后将其导入

import { REQUEST_PENDING, REQUEST_SUCCESS } from "../types";