默认导出 vs 具名导出

一个文件里有且仅有一个 默认 导出,但是可以有任意多个 具名 导出。 组件的导出方式决定了其导入方式。当你用默认导入的方式,导入具名导出的组件时,就会报错。如下表格可以帮你更好地理解它们:

语法 导出语句 导入语句
默认 export default function Button() {} import Button from './Button.js';
具名 export function Button() {} import { Button } from './Button.js';

当使用默认导入时,你可以在 import 语句后面进行任意命名。比如 import Banana from './Button.js',如此你能获得与默认导出一致的内容。相反,对于具名导入,导入和导出的名字必须一致。这也是称其为 具名 导入的原因!

通常,文件中仅包含一个组件时,人们会选择默认导出,而当文件中包含多个组件或某个值需要导出时,则会选择具名导出。 无论选择哪种方式,请记得给你的组件和相应的文件命名一个有意义的名字。我们不建议创建未命名的组件,比如 export default () => {},因为这样会使得调试变得异常困难。

相关推荐
小高00720 分钟前
React useMemo 深度指南:原理、误区、实战与 2025 最佳实践
前端·javascript·react.js
一颗奇趣蛋1 小时前
React.memo & useMemo:为什么 React 里「看起来没变的组件」还是渲染了
前端·react.js
Ice_Sugar_72 小时前
React 腾讯面试手写题
javascript·react.js·ecmascript
卸任3 小时前
Electron自制翻译工具:自动更新
前端·react.js·electron
小喷友5 小时前
Next.js 中的 Edge Middleware 实战
前端·react.js·next.js
前端美少女战士8 小时前
post方法下载文件,需做哪些特殊处理
javascript·react.js
Jimmy10 小时前
React 性能优化:从慢到闪电般快
前端·javascript·react.js
江城开朗的豌豆10 小时前
React Hooks 真香定律:告别Class组件,我为什么回不去了?
前端·javascript·react.js
江城开朗的豌豆10 小时前
React Component和Purecomponent区别
前端·javascript·react.js
江城开朗的豌豆10 小时前
React Hooks花式玩法
前端·javascript·react.js