我想问最后一句是什么意思和做(导出默认的HelloWorld;),但我找不到关于它的任何教程。
// hello-world.jsx
import React from 'react';
class HelloWorld extends React.Component {
render() {
return <p>Hello, world!</p>;
}
}
export default HelloWorld;
对默认导出的最简单理解是
Export
是ES6的功能,用于导出模块(文件)并在其他模块(文件)中使用。
默认导出:
默认导出
是约定,如果你想从文件(模块)中只导出一个对象(变量,函数,类)。 导出或命名导出:
>
用于导出同名的对象(变量、函数、calss)。
它用于从一个文件导出多个对象。
在另一个文件中导入时不能重命名它,它必须与导出它时使用的名称相同,但我们可以使用as
运算符创建它的别名。
在React、Vue和许多其他框架中,导出主要用于导出可重用组件,以生成基于模块的应用程序。
导出默认值
用于从脚本文件导出单个类、函数或基元。
导出也可以写成
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
导入,您可以为其指定任何名称,因为它是默认导出
顾名思义,它用于从脚本文件或模块导出函数、对象、类或表达式
Utilities.js
export function cube(x) {
return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;
这可以被导入和用作
App.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
使用导出默认值时,这要简单得多。脚本文件只导出一件事。cube.js
export default function cube(x) {
return x * x * x;
};
并用作App.js
import Cube from 'cube';
console.log(Cube(3)); // 27
导出类似导出默认HelloWorld
和导入,例如从“React”导入React
是ES6模块系统的一部分。
模块是一个自包含的单元,可以使用导出
将资产公开给其他模块,并使用导入
从其他模块获取资产。
在代码中:
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中有两种出口:
命名导出-例如导出函数func() {}
是一个名为func
的命名导出。命名的模块可以使用从模块导入{exportName}导入。
在这种情况下,导入的名称应该与导出的名称相同。要在示例中导入func,您必须使用从模块导入{func};
。在一个模块中可以有多个命名的导出。
默认导出-如果使用简单的导入语句import X from'module'
,则将从模块导入的值。X是将在本地指定给变量以包含该值的名称,它不必像原始导出那样命名。只能有一个默认导出。
模块可以包含命名的导出和默认的导出,并且可以使用导入default导出,{namedExport1,namedExport3等...}从'模块';
导入它们。
问题内容: 我想问一下最后一句话的意思和作用(导出默认的HelloWorld;),但是我找不到关于它的任何教程。 问题答案: 出口喜欢和进口,比如是一部分ES6模块系统。 模块是一个独立的单元,可以使用将资产暴露给其他模块,并使用来从其他模块获取资产。 在您的代码中: 在ES6中,有两种导出: 命名出口 -例如,是名称为的命名出口。可以使用导入命名模块。在这种情况下,导入的名称应与导出的名称相同。
问题内容: 档案:SafeString.js 我从未见过。是否有任何等效的东西更容易理解? 问题答案: 它是ES6模块系统的一部分,该文档中还有一个有用的示例: 如果模块定义了默认导出: 那么您可以通过省略花括号来导入默认导出: 更新: 自2015年6月,该模块系统中定义§15.2和在特定语法中定义§15.2.3ECMAScript的2015规范的。
文件:safeString.js 我以前从未见过。对于,是否有更容易理解的等效内容?
我有一个VUE2项目,我编写了一个简单的函数来翻译日期中的月份,我想将它导入到我的一个组件中,但是我得到了一个错误: 在“@/utils/date-translation”中找不到导出“default”(导入为“translate date”) src文件夹中的相对文件路径是正确的,我导出的函数如下所示: 然后我将其导入到组件中,如下所示: 我做错了什么?
问题内容: 如果要创建组件,似乎可以用很多不同的方式创建类。这些有什么区别?我怎么知道要使用哪个? 我只是假设他们做不同的事情,还是只是语法不同? 如果有人可以给我快速的解释或链接,我将不胜感激。我不想从一个新的框架开始,不知道到底有什么区别。 问题答案: 嗨,欢迎来到React! 我认为您在这里遇到的问题并不是与React特定的,而是与新的ES2015模块语法有关。在创建React类组件时,出于
做。 错误是: