React 中图片请求失败使用裂图

复制代码
import React, { useState } from 'react';

const ImageWithFallback = ({ src, fallbackSrc }) => {
  const [imageSrc, setImageSrc] = useState(src);

  const handleImageError = () => {
    setImageSrc(fallbackSrc);
  };

  return <img src={imageSrc} onError={handleImageError} alt="加载失败" />;
};

export default ImageWithFallback;

在这个示例中,我们创建了一个名为 ImageWithFallback 的组件,它接受两个属性 srcfallbackSrc,分别表示要显示的图片地址和加载失败时要显示的默认图片地址。组件内部使用 useState 钩子来维护当前要显示的图片地址,然后使用 onError 事件处理程序来捕获图片加载失败的情况,并在发生错误时更新图片地址为默认图片地址。

你可以在需要显示图片的地方使用这个组件,并传入相应的 srcfallbackSrc 属性:

复制代码
Codeimport React from 'react';
import ImageWithFallback from './ImageWithFallback';

const App = () => {
  const imageUrl = 'https://example.com/image.jpg';
  const defaultImageUrl = 'https://example.com/default-image.jpg';

  return <ImageWithFallback src={imageUrl} fallbackSrc={defaultImageUrl} />;
};

export default App;
相关推荐
鳄鱼杆19 小时前
虚拟机 | 如何通过域名访问虚拟机中的Web服务?
前端
We་ct19 小时前
LeetCode 236. 二叉树的最近公共祖先:两种解法详解(递归+迭代)
前端·数据结构·算法·leetcode·typescript
用泥种荷花20 小时前
【LangChain.js学习】 提示词模板
前端
认真的薛薛20 小时前
2-监控:elk采集各种日志并出图
前端·chrome·elk
叶落阁主20 小时前
别再从 0 造后台了:`antdv-next-admin`,开箱即用的 Vue 3 中后台脚手架
前端
yiranlater20 小时前
状态驱动渲染和事件驱动模型
前端
csdn飘逸飘逸20 小时前
Autojs基础-控件操作
javascript
yuki_uix20 小时前
用 useState 管理服务端数据?不如试试 React Query 来“避坑”
前端
薛定e的猫咪20 小时前
Vibe Coding范式实战:用AI工具链(Stitch+Figma+ai studio+Trae)快速开发全栈APP
前端·人工智能·react.js·github·figma
折七20 小时前
2026 年 Node.js 后端技术选型,为什么我选了 Hono 而不是 NestJS
前端·后端·node.js