React export和export default的区别

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 <h1> hello,{this.props.name}</h1>
    }
}

function App(){
    return (
        <div>
            <Welcome name="Sara"/>
            <Welcome nmae="Peng"/>
        </div>
    );
}

export  default App;

index.js

import App  from './components/Com';

const element=<App/>;
ReactDOM.render(element, document.getElementById('root'));

2. export {classname1,classname2}

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

import {classname1,classname2} from path

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

例如:

class Welcome extends React.Component{
    render(){
        return <h1> hello,{this.props.name}</h1>
    }
}

function App(){
    return (
        <div>
            <Welcome name="Sara"/>
            <Welcome nmae="Peng"/>
        </div>
    );
}

export  {Welcome,App};

index.js

import {App}  from './components/Com';

const element=<App/>;
ReactDOM.render(element, document.getElementById('root'));