无法在reactJS App中正确导入函数吗?

时间:2019-07-10 08:42:21

标签: javascript reactjs import

我在import上遇到问题,我有一个像这样的文件:

import { TYPE_CONTRAT_UPDATE, CONFORMITE_UPDATE } from "./actionsTypes";

import { createAction } from "../../../../../../redux/Utilities";

const updateTypeContrat = (idContrat, data, success, error) =>
    createAction(TYPE_CONTRAT_UPDATE.PUT_CALL, { idContrat, data, success, 
error });
const updateConformiteContrat = (idContrat, data, success, error) => 
    createAction(CONFORMITE_UPDATE.PUT_CALL, { idContrat, data, success, 
error });
export default { updateTypeContrat, updateConformiteContrat};

我正在尝试导入,因为您可以从我的文件actionsTypes中看到大写的变量,这是文件:

import { createPutTypes } from "../../../../../../redux/Utilities";

const TYPE_CONTRAT_UPDATE = createPutTypes("TYPE_CONTRAT_UPDATE");
const CONFORMITE_UPDATE = createPutTypes("CONFORMITE_UPDATE");

export default { CONFORMITE_UPDATE, TYPE_CONTRAT_UPDATE } 

但是我得到一个错误:

  

第1行:在“ ./actionsTypes”导入/命名中找不到TYPE_CONTRAT_UPDATE      第1行:在“ ./actionsTypes”导入/命名中找不到CONFORMITE_UPDATE

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您需要使用命名的导出而不是默认的。

import { createPutTypes } from "../../../../../../redux/Utilities";

export const TYPE_CONTRAT_UPDATE = createPutTypes("TYPE_CONTRAT_UPDATE");
export const CONFORMITE_UPDATE = createPutTypes("CONFORMITE_UPDATE");

答案 1 :(得分:0)

从错误中可以看出,这些导入应该为named exports

默认导出

默认导出(export default [...]是使用import X from 'fileX'时要导入的内容。只能有一个。在这种情况下,无论您将导入分配给什么(在这里,您都将其分配给X ),它将起作用

// fileX.js
export default Example;

您可以选择

import X from 'fileX'; // works, X contains Example
import Example from 'fileX'; // same
...

已命名的出口

可以随意使用命名的导出(export const TYPE_CONTRACT = [...]),但是导入的名称很重要:

// fileX.js 
export const Example = [...]

表示导入应为:

import { Example } from 'fileX'; // works properly, Example contains the export of fileX
import { X } from 'fileX'; // won't work, no way to know which export you're referring to
import Example from 'fileX'; // won't work either, this is not a default export.