1. 默认导出(default export)
// MyComponent.js
const MyComponent = () => {
// ...
};
export default MyComponent;
- 使用
export default关键字 - 一个模块只能有一个默认导出
- 不需要使用大括号({})来包裹,在导入时可以使用任意名称来引用
2. 命名导出(named export)
// ComponentA.js
export const ComponentA = () => {
// ...
};
// ComponentB.js
export function ComponentB() {
// ...
}
//或者
//export {ComponentA,ComponentB};
- 使用
export关键字,可以在函数关键字前,也可以在模块末尾 - 一个模块可以有多个命名导出
- 命名导出需要使用大括号({})来包裹,在导入时必须使用导出时指定的名称来引用导出的内容。
总结来说就是默认导出因为已经规定了default且一个模块只能导出一个,所以你在导入时指定模块路径后就算改名,react也知道你找的是哪个。
而命名导出可能有多个,且定义时没有定义默认值,所以你必须指定名字,react才能找到你想要的组件。