繁体   English   中英

图像作为道具传递给子组件后不显示

[英]Image not displaying after being passed as prop to child component

我正在尝试显示我传递给道具的图像但出现错误

找不到模块“../images/blah-blah.jpg”

尝试在线查看但无法弄清楚我做错了什么。 新反应,很抱歉,如果这真的很简单。

<ProfileCard 
   image='../images/blah-blah.jpg' 
   name='Name' 
   title='(CEO)'/>
import React from "react"
import Card from 'react-bootstrap/Card';

function ProfileCard({image, name, title}) {
  return (
    <Card style={{ width: '22rem' }}>
    <Card.Img variant="top" src={require(image)} /> 
    <Card.Body>
      <Card.Title>{name}</Card.Title>
      <Card.Text>
        {title}
      </Card.Text>
    </Card.Body>
  </Card>
  )
};

export default ProfileCard;

文件夹结构

在此处输入图像描述

您需要像这样在父组件中导入这样的图像

import ImageFile from '../images/blah-blah.jpg' 

<ProfileCard 
   image={ImageFile}
   name='Name' 
   title='(CEO)'
/>

然后您可以在 ProfileCard 组件中以这种方式使用它

import React from "react"
import Card from 'react-bootstrap/Card';

function ProfileCard({image, name, title}) {
  return (
    <Card style={{ width: '22rem' }}>
    <Card.Img variant="top" src={image} /> 
    <Card.Body>
      <Card.Title>{name}</Card.Title>
      <Card.Text>
        {title}
      </Card.Text>
    </Card.Body>
  </Card>
  )
};

export default ProfileCard;

require 不是必需的,您可以将ImageFile重命名为您想要的任何名称。

另外,确保路径正确。 您可以查看此 codesandbox 上的工作示例https://codesandbox.io/s/kind-shtern-qx23ev?file=/src/index.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM