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

React通过props传递src属性时图片不显示问题排查

问题根因

代码里存在两处JSX语法书写错误,导致props值没有被正确解析,直接以字符串形式渲染:

  • Link组件的to属性错误地给JSX表达式外层加了双引号:写成了to="{props.path}",此时大括号会被识别为普通字符串内容,不会执行变量读取逻辑。
  • img标签的src属性错误地给props.src加了单引号:写成了src={'props.src'},此时大括号里的内容是固定字符串'props.src',不是读取props对象上的src属性。
修复方法

修改CardItem.js文件,去掉多余的引号,修正后的完整代码如下:

import React from 'react';
import {Link} from 'react-router-dom';

function CardItem(props) {
  return (
    <>
        <li className="cards__item">
            <Link to={props.path} className="cards__item__link">
                <figure className='cards_item_pic-wrap' data-category={props.label}>
                    <img src={props.src} alt="Meditation image" className='cards__item__img' />
                </figure>
                <div className='cards__item__info'>
                    <h5 className='cards__item__text'>{props.text}</h5>
                </div>
            </Link>
        </li>
    </>
  )
}

export default CardItem
额外优化建议

如果你的项目是基于Create React App搭建,引用public目录下的静态资源时,建议图片路径前面加根路径斜杠,在父组件传值时写成src='/images/img-9.jpg',可以避免页面处于嵌套路由时出现相对路径解析错误,导致图片加载失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 10:06:35