React 之export和export default

一、 ES6的模块化的基本规则或特点

  • 每一个模块只加载一次, 每一个JS只执行一次, 如果下次再去加载同目录下同文件,直接从内存中读取。 一个模块就是一个单例,或者说就是一个对象;
  • 每一个模块内声明的变量都是局部变量, 不会污染全局作用域
  • 模块内部的变量或者函数可以通过export导出
  • 一个模块可以导入别的模块

https://es6.ruanyifeng.com/

es6中export和export default的区别

  • export与export default均可用于导出常量、函数、文件、模块

  • 你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用

  • 在一个文件或模块中,export、import可以有多个,export default仅有一个

  • 通过export方式导出,在导入时要加{ },export default则不需要

其实很多时候export与export default可以实现同样的目的,只是用法有些区别。注意第四条,通过export方式导出,在导入时要加{ },export default则不需要。使用export default命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名。

React中使用export导出类可以有两种方法

1. export default classname

这种导出方式与export default class classname extends React.class相同

在其他文件中引用时采取如下方式

import classname form path

例如:

Com.js

class Welcome extends React.Component{
    render(){
        return 

hello,{this.props.name}

} } function App(){ return (
); } export default App;

index.js

import App  from './components/Com';
 
const element=;
ReactDOM.render(element, document.getElementById('root'));

2. export {classname1,classname2}

在其他文件中引用时采用如下方式

import {classname1,classname2} from path

import {classname1} //注意引用一个类时也要加上{}

例如:

class Welcome extends React.Component{
    render(){
        return 

hello,{this.props.name}

} } function App(){ return (
); } export {Welcome,App};

index.js

import {App}  from './components/Com';
 
const element=;
ReactDOM.render(element, document.getElementById('root'));

你可能感兴趣的:(React 之export和export default)