关于ES6导入输出的问题

在创建一个 b.tsx 的文件里用函数写了个组件,使用 export default B,
在 a.tsx 里 import b.tsx,
这里出现个问题,
使用 import B from ./b.tsx 能顺利拿到返回值,
使用 import { B } from ./b.tsx 会提示没有导出B,如果在 b.tsx 里直接 export const B = ()=>{} 就可以用这种方式来获取,
不太理解这里,有谁能讲解下吗?

import B from "./b.tsx"; //能顺利拿到export default的返回值
import { B } from "./b.tsx"; //export default会提示没有导出B,使用export const B = ()=> {}能拿到返回值
阅读 1.5k
2 个回答

import B from "./b.tsx";
import { B } from "./b.tsx";
如果以上两种形式都能得到你想要的函数组件,那是不是可以B.B.B.B.B.....一直下去

import B from 其实等价于 import default as B from,所以其实你可以import AnyName from "./b.tsx"
{}有解构的作用,所以 import {B} from 类似 const a = {name: ''}; const {name} = a;,因此import { B } fromimport B from是完全不同的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题