React导出组件的两种方式(默认导出、命名导出)

1,533 阅读1分钟

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才能找到你想要的组件。