reactjs - 为什么 ReactJs 说我把它放在 Card.img#src 中时链接或路径已损坏?
问题描述
我正在使用 ReactJs-bootstrap,并且我有一张卡片,里面有图像。
在卡片里面有<Card.Img>
我从 ReactJs-bootstrap 导入的标签。
那里有Card.Img
属性'src'
。当我尝试更改'src'
它时,它会损坏图片,就好像它path
是错误的一样。
我试图寻找答案,但我找不到任何与 React-bootstrap 有此问题的问题
{ * 图片的相对路径是'MainAppDict/src/images/rfm.jpg }
我的卡片组件:
import React, { Component } from 'react'
import {Accordion, Card, Button} from 'react-bootstrap/dist/react-bootstrap'
export default class ProductCardComponent extends Component{
constructor(props) {
super(props)
}
render() {
return (
<div>
<Card style={{ width: '18rem' }}>
<Card.Img variant="top" src="../../images/rfm.jpg" />
{*** the relative path of the image is 'MainAppDict/src/images/rfm.jpg**}
<Card.Body>
<Card.Title>Card Title</Card.Title>
<Card.Text>
Some quick example text to build on the card title and make up the bulk of
the card's content.
</Card.Text>
</Card.Body>
<Accordion defaultActiveKey="0">
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="0">
Click me!
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="0">
<Card.Body>some text</Card.Body>
</Accordion.Collapse>
</Card>
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="1">
Click me!
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="1">
<Card.Body>Hello! I'm another body</Card.Body>
</Accordion.Collapse>
</Card>
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="1">
Click me!
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="1">
<Card.Body>Hello! I'm another body</Card.Body>
</Accordion.Collapse>
</Card>
</Accordion>
<Card.Body>
<Card.Link href="#">Card Link</Card.Link>
<Card.Link href="#">Another Link</Card.Link>
</Card.Body>
</Card>
{/* <Accordion defaultActiveKey="0">
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="0">
Click me!
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="0">
<Card.Body>Hello! I'm the body</Card.Body>
</Accordion.Collapse>
</Card>
<Card>
<Card.Header>
<Accordion.Toggle as={Button} variant="link" eventKey="1">
Click me!
</Accordion.Toggle>
</Card.Header>
<Accordion.Collapse eventKey="1">
<Card.Body>Hello! I'm another body</Card.Body>
</Accordion.Collapse>
</Card>
</Accordion> */}
</div>
)
}
}
解决方案
根据您的项目设置,这可能会有所不同,但很可能您需要先导入图像。
import imageUrl from '../../images/rfm.jpg';
如果您使用带有适当加载器(如file-loader
等)的webpack,imageUrl
则在构建应用程序后, 的值将自动成为图像的路径。因此,您可以像这样使用该值:
<Card.Img variant="top" src={imageUrl} />
推荐阅读
- d3.js - 使用 D3JS Axis + viewbox 时如何适当地缩放我的轴?
- java - 处理音频文件的元数据时,意图 Uri 数据消失
- php - 我可以从 php 库中获取 Google 语音到文本转录为 JSON 的完整结果吗?
- python - Pytorch ValueError:优化器得到一个空的参数列表
- dialogflow-es - DialogFlow - 获取与参数关联的原始字符串
- xml - VB.net 检查某个文件夹中是否有 .xml 文件(循环中)并单独处理它们
- python - 无法在 Windows 上安装 gambit python api
- javascript - React 中表单内的条件渲染不起作用
- c# - C#/WPF 如何在循环之间等待但仍允许用户单击按钮(非必需)
- jquery - Magicline 边框动画 - 从活动类开始动画