reactjs - URL 图片仅在浏览器调整大小时显示
问题描述
我正在使用React.js
和firebase
。我正在从 firebase 获取图像并尝试在组件中呈现它。
当图像 URL 可用时,我setState
,URL
但图像仍然不显示。
componentDidMount(){
const that = this;
firebase
.storage()
.ref("hero1.png")
.getDownloadURL()
.then(url => {
console.log(url);
that.setState({url})
})
.catch(error => {
// Handle any errors
});
}
// 渲染图像
...
{ this.state.url &&
this.state.slides.map((slide, index) => {
console.log(slide.imageUrl); // url is being printed here
return (
<div
key={index}
onDragStart={this.handleOnDragStart}
className="slider-wrapper"
>
<div key={index} className="slider-content">
<img src={this.state.url} /> // when I set a hard-coded url, it works, but
//does not work in state
</div>
</div>
);
})}
...
还有一件事,当我调整浏览器的大小时,图像会立即显示出来。不知道为什么
解决方案
试试这个,我从子 div 中删除了键并将另一个键更新为 slide.imageUrl:
{ this.state.url &&
this.state.slides.map((slide, index) => {
console.log(slide.imageUrl); // url is being printed here
return (
<div
key={slide.imageUrl}
onDragStart={this.handleOnDragStart}
className="slider-wrapper"
>
<div className="slider-content">
<img src={this.state.url} /> // when I set a hard-coded url, it works, but
//does not work in state
</div>
</div>
);
})}
推荐阅读
- python - 根据熊猫列中的逻辑测试从DataFrame中选择行
- arrays - 在 Fortran 中将矩阵分离为子矩阵
- php - 如何在执行函数之前等待 Swift 中的变量?(迅速)
- google-apps-script - 使用 Google Apps 脚本插入 YouTube 顶级评论
- java - 使用 java8 改进将对象列表转换为其他对象
- amazon-web-services - 我应该使用哪种 AWS 服务来处理大型文本文件?
- css - 在 wicked-pdf 中使用自定义(乌尔都语)字体
- laravel - Laravel 关系总数
- android - 如何进入下载文件夹加载所有图片?
- deep-learning - 碰上connect异常学习D4Lj例子