reactjs - url被破坏时如何在React中显示虚拟图像?
问题描述
我的代码
import React, { Component } from 'react';
import './App.css';
class App extends Component {
state = {
loaded: false,
error: false
}
onImageLoad = () => {
this.setState({
loaded: true
})
}
onImageError = () => {
this.setState({
error: true
});
}
render() {
// let imgSrc = (!error) ? src: fallbackSrc
return (
<div>
<img src= {'https://unsplash.com/photos/wQLAGv4_OYs'} alt={'Wresting Character'} onLoad={() => this.onImageLoad()} onError={require('../src/images/batista.jpg')} />
</div>
)
}
}
export default App;
如果网址损坏,我想显示后备图片。现在显示默认图像,但如果我更改它的 url,页面会引发错误。如果我的链接损坏,我如何显示虚拟图像。
解决方案
一旦发生错误,您可以回退到默认图像:
onImageError = (ev) => {
this.setState({
error: true
});
ev.target.src = 'some default image url';
}
推荐阅读
- jsonschema - 当父属性不存在时阻止依赖属性验证
- ios - 如何从拖放创建新的 UIWindowScene?
- jquery - 弹出窗口未触发 focusout() 或 blur()
- clojure - 文件名无效,得到 xxxxxx 但应为 xxxxxxxx
- python - 如何从 exec() 越狱?
- javascript - 在组件之间传递值:传递引用与主题
- visual-studio-2019 - 在 Visual Studio 2019 项目的文件夹中自动包含文件
- jquery - 表格的粘性按钮宽度,位于页脚上方
- python - 在 Matplotlib 中为条形图指定 x 坐标有什么用?
- c# - WPF Checkbox.Checked 事件在加载数据网格之前触发