导出默认的something()含义

时间:2018-09-24 11:34:24

标签: javascript reactjs ecmascript-6

我正在经历React Navigation docs,在那儿遇到了类似的事情:

import Ionicons from 'react-native-vector-icons/Ionicons';
import { createBottomTabNavigator } from 'react-navigation';

export default createBottomTabNavigator(
  {

现在,我无法理解此行的作用:

export default createBottomTabNavigator(

我的意思是它肯定会导出某些东西,但是它是一个函数吗?

如果是,那就不应该这样:

export default function createBottomTabNavigator(

或根据ES6,如下所示:

export default function createBottomTabNavigator = () =>{

2 个答案:

答案 0 :(得分:1)

代码等同于

const MyBottomTabNavigator = createBottomTabNavigator( { /* ... */ });
export default MyBottomTabNavigator;

该函数被调用,返回一个对象。该对象已导出并在其他地方使用。

编辑: 同样,更多示例代码:

const rootOf2 = Math.sqrt(2.0);
export default rootOf2;

答案 1 :(得分:1)

Chris G给出的答案是正确的。我还想补充一点,通过导出和导出默认值导出变量或函数的两种方式之间存在差异。

想象一下文件const myVar = 'someValue';中有变量 如果仅通过导出export { myVar }从文件中导出文件,则必须将其导入到要使用函数变量的文件中,例如:import { myVar } from 'name-of-your-module';

在其他情况下,如果您使用默认的export default myVar进行导出,则可以不使用{}进行导入-像这样:import myVar from 'name-of-your-module'

导出默认值用于导出我们模块的单个值或具有备用值。