react 判断标签img 图片是否存在,不存在则替换为默认图片

简介: react 判断标签img 图片是否存在,不存在则替换为默认图片

利用image对象的onerror事件来判断,出错则更换image对象的src为默认图片的URL。

<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址'">

注意:如果使用不当,会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,

就会反复的加载(触发onerror),最后造成堆栈溢出错误。
解决办法如下
a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。
b、控制onerror事件只触发一次,需要增加这句话:this.onerror=null; 增加后如下:

<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址;this.onerror=null'"/>

具体代码

<img
              className={styles.urlImg}
              src={"" + item.url + "/favicon.ico"} onError={() => {
                const img = window.event.srcElement;
                img.src = "存在的.png";
                img.οnerrοr = null;
                
              }}
            />

因为 event已经被弃用了

优化

<img
              className={styles.urlImg}
              src={"" + item.url + "/favicon.ico"} onError={(e) => {
                const img = e.currentTarget;
                img.src = "https://api.iowen.cn/favicon/www.aliued.cn.png";
                img.οnerrοr = null;
              }}
            />
相关文章
|
6天前
|
前端开发
react动态生成input、select标签以及思路总结
本文介绍了在React中动态生成input和select标签的方法,包括准备数据结构、在组件挂载时动态添加状态、页面渲染以及输入处理,最后总结了实现思路。
16 1
react动态生成input、select标签以及思路总结
|
28天前
|
前端开发 Python
React技术栈-React路由插件之自定义组件标签
关于React技术栈中React路由插件自定义组件标签的教程。
44 4
React技术栈-React路由插件之自定义组件标签
|
6天前
|
前端开发 JavaScript
React中Fragment标签和空标签的使用
在React中,Fragment标签用于包裹多个子元素,避免添加不必要的DOM元素,空标签`<>`是Fragment的简写形式。
12 2
|
5天前
|
JavaScript 前端开发
react字符串转为dom标签,类似于Vue中的v-html
本文介绍了在React中将字符串转换为DOM标签的方法,类似于Vue中的`v-html`指令,通过使用`dangerouslySetInnerHTML`属性实现。
17 0
react字符串转为dom标签,类似于Vue中的v-html
|
3月前
|
JavaScript 前端开发
react18【系列实用教程】双向绑定表单 (2024最新版)含受控组件、非受控组件、单行多行输入框 input,下拉选择 select,单选 radio,多选 checkbox,标签 label
react18【系列实用教程】双向绑定表单 (2024最新版)含受控组件、非受控组件、单行多行输入框 input,下拉选择 select,单选 radio,多选 checkbox,标签 label
97 1
|
4月前
|
前端开发
react怎么做图片报错处理
react怎么做图片报错处理
57 1
|
5月前
|
前端开发
构建一个简单的React图片画廊应用
构建一个简单的React图片画廊应用
101 0
|
5月前
|
前端开发 JavaScript
react中img引入本地图片的方式
react中img引入本地图片的方式
251 0
|
5月前
|
前端开发 API
【亮剑】在Web开发中,我们经常需要使用下拉选择框(Select)来让用户从多个选项中选择一个
【4月更文挑战第30天】在React Web开发中,创建下拉选择框通常使用`<select>`标签。要设置占位符,可添加一个`value=""`的`<option>`标签。
142 0
|
5月前
|
前端开发
React动态标签名称
React动态标签名称
56 0

热门文章

最新文章

相关实验场景

更多
下一篇
无影云桌面