React 中错误 does not contain a default export 解决

当我们尝试使用 default import 从没有 default export 的模块导入时,会出现“does not contain a default export”错误。 要解决该错误,请确保模块具有命名导出并将导入封装在花括号中,例如 从'./myModule.import {myFunction}

does not contain a default export 错误

下面是错误发生方式的示例。

// 命名导出

exportfunctionsum(a, b) {

return a + b;

}

我们尝试对命名导出使用默认导入。

// Error: Attempted import error: file does not contain a default export

// 使用默认导入

import sum from'./another-file';

console.log(sum(5, 10));

请注意,在 another-file.js 中,我们使用命名导出来导出 sum 函数,而在 index.js 中,我们使用默认导入。 这就是发生错误的原因。

要解决“does not contain a default export”错误,请确保:

  1. 在导入命名导出时将它们包裹在花括号中

  2. 将值导出为默认导出时使用 default 关键字

  3. 每个模块最多只有 1 个默认导出,但可以有多个命名导出

以下是如何使用命名导入解决错误的示例。

exportfunctionsum(a, b) {

return a + b;

}

并在 index.js 文件中导入函数。

import {sum} from'./another-file';

console.log(sum(5, 10));

注意,我们没有为命名导出使用 default 关键字,而是将命名导入包含在花括号中。

每个文件可以有多个命名导出,但只能有一个默认导出。

以下是如何使用默认导出和导入解决错误的示例。

exportdefaultfunctionsum(a, b) {

return a + b;

}

现在我们在 index.js 文件中使用默认导入。

import sum from'./another-file';

console.log(sum(5, 10));

注意,我们在使用默认导入时不使用花括号。

每个文件最多可以有 1 个默认导出。

如果要将变量导出为默认导出,则必须在第一行声明它并在下一行导出。 不能在同一行声明和默认导出变量。

const example = 'hello';

exportdefault example;

也可以混合使用,这里有一个例子。

exportdefaultfunctionsum(a, b) {

return a + b;

}

exportconst num = 20;

下面是多个导入

import sum, {num} from'./another-file';

console.log(sum(num, 10));

我们使用默认导入来导入 sum 函数,并使用命名导入来导入 num 变量。

要解决“does not contain a default export”错误,请与 ES6 导入和导出保持一致。 如果将值作为默认导出进行导出,则必须将其作为默认导入来导入,如果将其作为命名导出进行导出,则必须将其作为命名导入来导入。

本文转载自:迹忆客(https://www.jiyik.com)

以上是 React 中错误 does not contain a default export 解决 的全部内容, 来源链接: utcz.com/z/290288.html

回到顶部