Dig*_*eed 110 javascript reactjs
我想问最后一句话是什么意思和做什么(导出默认的HelloWorld;)但我找不到任何关于它的教程.
// hello-world.jsx
import React from 'react';
class HelloWorld extends React.Component {
render() {
return <p>Hello, world!</p>;
}
}
export default HelloWorld;
Run Code Online (Sandbox Code Playgroud)
Ori*_*ori 228
出口喜欢export default HelloWorld;
和进口,比如import React from 'react'
是一部分ES6模块系统.
模块是一个独立的单元,可以使用资产将资产暴露给其他模块export
,并从其他模块获取资产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
Run Code Online (Sandbox Code Playgroud)
在ES6中有两种出口:
命名导出 - 例如export function func() {}
,名称为的命名导出func
.可以使用命名模块导入import { exportName } from 'module';.
在这种情况下,导入的名称应与导出的名称相同.要导入示例中的func,您必须使用import { func } from 'module';
.一个模块中可以有多个命名导出.
默认导出 - 如果使用简单导入语句,则是从模块导入的值import X from 'module'
.X是将在本地赋予包含该值的变量的名称,并且不必像原始导出那样命名.只能有一个默认导出.
模块可以包含命名导出和默认导出,并且可以使用它们一起导入import defaultExport, { namedExport1, namedExport3, etc... } from 'module';
.
Muh*_*mad 20
最简单的理解default export
是
Export
是 ES6 的特性,用于导出模块(文件)并在其他模块(文件)中使用它。
默认导出:
default export
如果您只想从文件(模块)中导出一个对象(变量、函数、类),这是惯例。导出或命名导出:
用于导出同名对象(变量、函数、类)。
它用于从一个文件中导出多个对象。
导入到另一个文件时不能重命名,它必须与导出时使用的名称相同,但我们可以使用as
运算符创建其别名。
在 React、Vue 和许多其他框架中,Export 主要用于导出可重用组件以制作基于模块化的应用程序。
export default
用于从脚本文件中导出单个类,函数或基元。
导出也可以写成
export default class HelloWorld extends React.Component {
render() {
return <p>Hello, world!</p>;
}
}
Run Code Online (Sandbox Code Playgroud)
您也可以将其编写为功能组件,例如
export default const HelloWorld = () => (<p>Hello, world!</p>);
Run Code Online (Sandbox Code Playgroud)
这用于将此功能导入另一个脚本文件
import HelloWorld from './HelloWorld';
Run Code Online (Sandbox Code Playgroud)
您不一定要导入它,HelloWorld
因为它是默认导出,您可以给它起任何名字
顾名思义,它用于从脚本文件或模块中导出函数,对象,类或表达式
Utiliites.js
export function cube(x) {
return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;
Run Code Online (Sandbox Code Playgroud)
可以将其导入并用作
App.js
import { cube, foo } from 'Utilities';
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
Run Code Online (Sandbox Code Playgroud)
要么
import * as utilities from 'Utilities';
console.log(utilities.cube(3)); // 27
console.log(utilities.foo); // 4.555806215962888
Run Code Online (Sandbox Code Playgroud)
使用导出默认值时,这要简单得多。脚本文件仅导出一件事。 cube.js
export default function cube(x) {
return x * x * x;
};
Run Code Online (Sandbox Code Playgroud)
并用作 App.js
import Cube from 'cube';
console.log(Cube(3)); // 27
Run Code Online (Sandbox Code Playgroud)
让我们看看如何使用它的代码
import react from 'react'
function Header() {
return <p><b><h1>This is the Heading section</h1></b></p>;
}
export default Header;
Run Code Online (Sandbox Code Playgroud)
由于这个导出,它可以像这样导入
import React from 'react';
import reactDom from 'react-dom';
import Header from './Header';
reactDom.render(
<>
<Header />
</>, document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)
如果有人评论该export
部分,您将收到以下错误:
import react from 'react'
function Header() {
return <p><b><h1>This is the Heading section</h1></b></p>;
}
// export default Header;
Run Code Online (Sandbox Code Playgroud)
你会得到这样的错误:
归档时间: |
|
查看次数: |
73411 次 |
最近记录: |