react用useImages读取图片,方便backgroundImage

注意import.meta.glob中定义的文件夹路径,视情况而定,可能是assets或images

复制代码
import { useMemo } from "react";

export default function useImages() {
  // 扫描 images 目录及其子目录下的所有图片
  const modules = import.meta.glob('@/assets/**/*.{png,jpg,jpeg,svg}', { eager: true });

  const images = useMemo(() => {
    const map = {};
    Object.entries(modules).forEach(([path, mod]) => {
      // 提取相对路径,例如 icons/icon1.png
      const relativePath = path.split('/images/')[1];
      map[relativePath] = mod.default;
    });
    return map;
  }, [modules]);

  return images;
}

使用方法:

复制代码
import useImages from "@/hooks/useImages";

  const uimages = useImages()





<div style={{ backgroundImage: "url(" + uimages['bgred.png'] + ")" }}>

<img src={uimages['recommed.png']} className="w-7 ml-[10px]" />

例子:

相关推荐
csbysj20202 分钟前
XML 技术
开发语言
清晓粼溪3 分钟前
Java登录认证解决方案
java·开发语言
小徐Chao努力4 分钟前
Go语言核心知识点底层原理教程【变量、类型与常量】
开发语言·后端·golang
锥锋骚年5 分钟前
go语言异常处理方案
开发语言·后端·golang
沐知全栈开发5 分钟前
JSP 自动刷新技术详解
开发语言
Felixwb6666 分钟前
Python 爬虫框架设计:类封装与工程化实践
前端
前端无涯6 分钟前
APP 内嵌 H5 复制功能实现:从现代 API 到兼容兜底方案
javascript
广州华水科技6 分钟前
潜力榜单2025年单北斗GNSS位移监测高口碑产品推荐
前端
特立独行的猫a7 分钟前
C++使用Boost的Asio库优雅实现定时器与线程池工具类
开发语言·c++·线程池·定时器·boost·asio
xinyu_Jina8 分钟前
OpenNana 提示词图库:多模态数据检索、分面搜索与前端性能工程
前端