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

React项目中浏览器无法渲染PNG图片问题求助

React应用中图片显示占位符的解决方案

针对你在workshop应用里遇到的汽车图片仅显示占位符问题,可尝试以下几种排查和解决方法:

  • 确认路径与文件匹配
    先核对Products.js的位置和图片文件的实际路径:

    • 假设Products.js在src/components/目录下,../assets/images/指向的是src/assets/images/,要确保这个目录下存在对应图片,且文件名(包括大小写、后缀)完全一致,比如toyota_camry2023.png不能写成toyota_camry2023.PNG。
  • 通过import引入图片(推荐)
    在React项目中,Webpack会处理通过import引入的资源,能避免路径问题。修改代码如下:

    import React from "react";
    // 顶部引入图片资源
    import toyotaCamry from '../assets/images/toyota_camry2023.png';
    import hondaCivic from '../assets/images/honda_civic2023.png';
    import fordMustang from '../assets/images/ford_mustang2023.png';
    
    function Products() {
      const cars = [
        {
          id: 1,
          name: "Toyota Camry",
          price: 25000,
          img: toyotaCamry,
        },
        {
          id: 2,
          name: "Honda Civic",
          price: 27000,
          img: hondaCivic,
        },
        {
          id: 3,
          name: "Ford Mustang",
          price: 35000,
          img: fordMustang,
        },
      ];
    
      return (
        <div>
          <h2>Find The Best Deals</h2>
          <h2>Available Cars</h2>
          <ul>
            {cars.map((car) => (
              <li key={car.id}>
                <img src={car.img} alt={car.name} />
                <h3>{car.name}</h3>
                <p>Price: ${car.price}</p>
                <button>More details</button>
              </li>
            ))}
          </ul>
        </div>
      );
    }
    
    export default Products;
    
  • 调整为根相对路径(若图片在public目录)
    如果图片放在项目根目录的public/assets/images/下,直接使用根相对路径(开头加斜杠):

    img: "/assets/images/toyota_camry2023.png"
    
  • 查看浏览器控制台定位问题
    按下F12打开开发者工具,切换到Network标签,刷新页面后查看图片请求的状态:

    • 若显示404,说明路径错误或文件不存在;
    • 若有其他错误,根据提示进一步排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:22:10