JSX 中的“导出默认值”有什么作用?

IT技术 javascript reactjs
2021-03-08 15:52:55

我想问最后一句是什么意思和做什么(导出默认的HelloWorld;)但我找不到任何关于它的教程。

// hello-world.jsx

import React from 'react';

class HelloWorld extends React.Component {
  render() {
    return <p>Hello, world!</p>;
  }
}

export default HelloWorld;
6个回答

出口喜欢export default HelloWorld;进口,比如import React from 'react'是一部分ES6module系统

module是一个自包含的单元,可以使用 向其他module公开资产export,并使用获取其他module的资产import

在您的代码中:

import React from 'react'; // get the React object from the react module

class HelloWorld extends React.Component {
  render() {
    return <p>Hello, world!</p>;
  }
}

export default HelloWorld; // expose the HelloWorld component to other modules

在 ES6 中有两种导出:

命名导出- 例如export function func() {},名称为func. 可以使用命名module导入import { exportName } from 'module';.在这种情况下,导入的名称应与导出的名称相同。要在示例中导入 func,您必须使用import { func } from 'module';. 一个module中可以有多个命名导出。

默认导出- 是将从module导入的值,如果您使用简单的导入语句import X from 'module'X 是将在本地指定给包含该值的变量的名称,它不必像原始导出一样命名。只能有一个默认导出。

一个module可以包含命名导出和默认导出,并且可以使用import defaultExport, { namedExport1, namedExport3, etc... } from 'module';.

export default 用于从脚本文件导出单个类、函数或原语。

导出也可以写成

export default class HelloWorld extends React.Component {
  render() {
    return <p>Hello, world!</p>;
  }
}

你也可以把它写成一个函数组件,比如

export default function HelloWorld() {
  return <p>Hello, world!</p>
}

这用于在另一个脚本文件中导入此函数

import HelloWorld from './HelloWorld';

您不必导入它,因为HelloWorld您可以为其指定任何名称,因为它是默认导出

关于出口的一点

顾名思义,它用于从脚本文件或module中导出函数、对象、类或表达式

实用程序.js

export function cube(x) {
  return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;

这可以导入并用作

应用程序.js

import { cube, foo } from 'Utilities';
console.log(cube(3)); // 27
console.log(foo);    // 4.555806215962888

或者

import * as utilities from 'Utilities';
console.log(utilities.cube(3)); // 27
console.log(utilities.foo);    // 4.555806215962888

当使用 export default 时,这要简单得多。脚本文件只导出一件事。 立方体.js

export default function cube(x) {
  return x * x * x;
};

并用作 App.js

import Cube from 'cube';
console.log(Cube(3)); // 27

最简单的理解default export

Export 是 ES6 的特性,用于导出module(文件)并在其他module(文件)中使用它。

默认导出:

  1. default export 如果您只想从文件(module)中导出一个对象(变量、函数、类),这是惯例。
  2. 每个文件只能有一个默认导出,但不限于只有一个 export(Named export)
  3. 导入默认导出的对象时,我们也可以重命名它。

导出或命名导出:

  1. 用于导出同名对象(变量、函数、类)。

  2. 它用于从一个文件中导出多个对象。

  3. 导入到另一个文件时不能重命名,它必须与导出时使用的名称相同,但我们可以使用as运算符创建其别名

在 React、Vue 和许多其他框架中,Export 主要用于导出可重用的组件以制作基于module化的应用程序。

简单来说——

在创建 JavaScript module从module导出函数、对象或原始值时使用 export 语句以便其他程序可以使用 import 语句使用它们。

这是一个可以清楚理解的链接:MDN Web Docs

简单来说,导出意味着让我们编写的脚本被另一个脚本使用。如果我们说导出,我们的意思是任何module都可以通过导入来使用这个脚本。