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

React Native中本地图片导入方式:全局常量vs直接写入source

两种本地图片导入写法的对比与适用场景

两种写法都是合法且正确的,核心差异在于复用性和资源加载时机,你可以根据实际需求选择:

  • 全局const存require的写法
    这种写法的优势在于复用性和可维护性:

    • 如果同一张图片需要在组件的多个位置甚至多个组件中使用,只需要定义一次const LOGO = require("src/commons/images/logo-icon.png"),后续直接引用LOGO即可,不用重复写冗长的路径,后续图片路径变更时也只需修改一处。
    • 模块加载时就会执行这个require,图片资源会被提前加载完成,对于像logo这类高频使用的基础图标,能避免渲染时的资源加载延迟,提升用户体验。
  • 直接在source中写require的写法
    这种写法更适合按需加载的场景:

    • 如果图片是在条件渲染(比如{show && <Image source={require(...)} />})或者组件的某个非必渲染分支中使用,只有当Image被渲染时才会执行require加载图片,能减少模块初始加载时的资源体积,优化首屏加载速度。
    • 缺点是如果同一张图片要多次使用,就得重复写完整的require路径,维护成本高,也容易出现路径拼写错误。

额外提醒:React Native中,require的图片路径必须是静态字符串,不能用变量动态拼接,两种写法都符合这个要求,所以都能正常工作。


内容的提问来源于stack exchange,提问作者moloud ayat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:41:19