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

React Native(Expo)中图片无法渲染问题求助

解决React Native组件中图片无法渲染的问题

你的问题出在传递BoxImage属性的方式上——你把require()调用用单引号包裹成了字符串,导致组件接收到的是普通文本而非有效的图片资源引用,Image组件自然无法渲染图片。

正确的实现方式有两种:

方式一:直接传递require()调用结果

<HomeScreenBox
  BoxName="Add Marks"
  BoxImage={require("../assets/images/person.jpg")}
/>
const HomeScreenBox = (props) => {
  return (
    <View>
      <Image source={props.BoxImage} />
      <Text>{props.BoxName}</Text>
    </View>
  );
};

方式二:提前导入图片再传递

// 提前导入本地图片资源
import PersonImage from "../assets/images/person.jpg";

<HomeScreenBox
  BoxName="Add Marks"
  BoxImage={PersonImage}
/>
const HomeScreenBox = (props) => {
  return (
    <View>
      <Image source={props.BoxImage} />
      <Text>{props.BoxName}</Text>
    </View>
  );
};

原理说明

React Native中require()用于静态加载本地资源,它会返回一个包含资源信息的对象,而非字符串。如果用引号包裹require()语句,传递的就只是一串文本,Image组件无法将其解析为可渲染的图片资源。

内容的提问来源于stack exchange,提问作者Dinesh Kuniyal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:05:16