我正在经历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 = () =>{
答案 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'
导出默认值用于导出我们模块的单个值或具有备用值。