You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中为何可用非默认名称导入默认导出组件?

为什么自定义名称导入默认导出组件也能正常工作?

这是ES模块默认导出的特性导致的,核心逻辑直白易懂:

  • 当模块用export default StoryBook导出组件时,本质是把StoryBook组件绑定到模块的特殊标识符default上,并没有给它固定的“对外名称”。
  • 你写import 任意变量名 from 'storybook'的时候,其实是把模块里default对应的内容(也就是那个组件)赋值给你自定义的变量名,这个变量名完全由你决定,和模块里的原名称无关。

看你的代码例子:

import StoryBook from 'storybook' // 把默认导出的组件赋值给变量StoryBook
import StoryBookX from 'storybook' // 同样把默认导出的组件赋值给变量StoryBookX

这两个变量StoryBook和StoryBookX其实指向的是同一个组件对象,所以在渲染时:

<View>
<StoryBook />
</View>

<View>
<StoryBookX />
</View>

本质上是在渲染同一个组件,自然都能正常工作。

总结:默认导出的内容没有固定的导入名称,你可以随便给它起变量名,只要语法正确,导入后都能正常使用。

内容的提问来源于stack exchange,提问作者Shahjahan Mukhtar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:20:20