我发现react本机模块的代码如下:
export default {
activateWithApiKey(apiKey: string) {
AppMetrica.activateWithApiKey(apiKey);
},
};
奇怪的是,"导出默认值"并没有名称。谷歌搜索的所有示例都有"导出默认SomeName"。有人知道没有名字的"导出默认值"是什么意思吗?谢谢你的帮助。
参考默认导出语法:
// Default exports
export default expression;
export default function (…) { … } // also class, function*
export default function name1(…) { … } // also class, function*
export { name1 as default, … };
如您所见,可以为函数、类、函数*指定name
(例如export default class Component
(。
当您需要在当前模块中进一步导出函数时,通常会使用此选项。请注意,如果为export default
指定了名称,则在导入过程中仍然可以使用其他名称。例如,功能被导出,可以在当前模块中进一步使用:
// module-a.js
export default function originalName() { console.log('i am default') };
originalName();
// module-b.js
import someAnotherName from './module-a.js'
回答您的问题
有人知道吗"导出默认值";没有名字意味着什么?
export default expression;
表示expression
名称可能在导出阶段丢失:
// module-a.js
export default {
activateWithApiKey(apiKey: string) {
AppMetrica.activateWithApiKey(apiKey);
},
};
// module-b.js
import anyName from './module-a.js'
// creates local variable `anyName` and assigns object from 'module-a.js` to it
我想说,尽量简短直接。
在export default SomeName
中指定名称时,导入时必须使用SomeName
作为变量的名称。但是,如果只编写export default { //some code }
,那么在进行导入时,可以为包含导出对象的变量使用任何名称。