reactjs - 通过状态不工作通过 img src 更改图像
问题描述
我有一张我已导入为图像的默认值的图片:prop in state,它显示但当我尝试通过另一个组件中的组件更改值时它没有改变
这是一个网页组件的子组件
import React, { Component } from 'react';
import YellCubePlant from '../imgs/CPC Yellow Cube Planter.jpg'
import AubSkinnyPlant1 from '../imgs/CPC Aubergine SKINNY PILLAR Planter (P).jpg'
import AubSkinnyPlant2 from '../imgs/CPC Aubergine SKINNY PILLAR Planter.png'
import OliveSkinnyVase from '../imgs/CPC Olive Green SKINNY VASE Planter.png'
class Item extends Component {
constructor(props) {
super(props)
this.state = {
image : YellCubePlant,
}
}
render() {
return (
<div className="item">
Item Name
<img src={this.state.image} alt="placeholder"></img>
</div>
);
}
}
export default Item;
这是嵌套的父组件,我尝试更改状态图像值。正如所见<Item image={AubSkinnyPlant1}/>
import React, { Component } from 'react';
import Item from '../item';
import YellCubePlant from '../../imgs/CPC Yellow Cube Planter.jpg'
import AubSkinnyPlant1 from '../../imgs/CPC Aubergine SKINNY PILLAR Planter (P).jpg'
import AubSkinnyPlant2 from '../../imgs/CPC Aubergine SKINNY PILLAR Planter.png'
import OliveSkinnyVase from '../../imgs/CPC Olive Green SKINNY VASE Planter.png'
class Collection extends Component {
render() {
return (
<div className="container-fluid">
<h1>
The Collection
</h1>
<div className="colltext">
Our collection of products within the Landscape exhibition.
</div>
<div>
</div>
<Item image={AubSkinnyPlant1}/>
<Item />
<Item />
<Item />
<Item />
<Item />
<Item />
<Item />
</div>
);
}
}
export default Collection;
IT 只显示了我的 Item 组件中默认状态的图像,这是为什么呢?
解决方案
由于您使用来自组件的状态,因此在从父组件image
提供道具时不会更改它。image
您可以只使用父组件提供的道具并YellCubePlant
用作默认值。
class Item extends Component {
render() {
const { image = YellCubePlant } = this.props;
return (
<div className="item">
Item Name
<img src={image} alt="placeholder" />
</div>
);
}
}
推荐阅读
- python-3.x - 如何使用 python 代码检索谷歌翻译器的值
- c# - 模块窗口中缺少一些 DLL
- powershell - WMI - 获取 PC 的最后登录时间
- android - 如何从我的应用程序以编程方式向“微信群”发送消息?
- angular - 导航后角度材质对话框未关闭
- vue.js - 关闭所有下拉菜单 $root 事件
- php - PHP URL 重写 - .htaccess & MAMP
- cmd - 运行“make”命令以运行暗网时出错
- javascript - React Native:setState(...):接受状态变量对象进行更新或返回状态变量对象的函数
- java - 解决 org.springframework.data.mapping.PropertyReferenceException: No property getOne found for type MyLog