react-inlinesvg如何动态的修改颜色SVG

这里我想修改颜色

css 复制代码
 .icon {
    fill: #ff4d4f; /* 修改填充颜色 */
    color: red; /* 此时SVG的fill会继承color的值 */
  }
javascript 复制代码
import styles from './index.module.scss'
import SVG from 'react-inlinesvg'
import classNames from 'classnames'

const Header = () => {
  const siderbarArr = [
    {
      name: '海报模版',
      icon: 'https://s2.ssl.qhres2.com/static/0f9e180526acbc8a.svg',
    },
    {
      name: '创建设计',
      icon: 'https://s2.ssl.qhres2.com/static/0f9e180526acbc8a.svg',
    },
    {
      name: 'line',
    },
    {
      name: '我的资源',
      icon: 'https://s2.ssl.qhres2.com/static/0f9e180526acbc8a.svg',
    },
  ]
  return (
    <div className={styles.main}>
      {siderbarArr.map(item =>
        item.name !== 'line' ? (
          <div className={classNames(styles.item, styles.active)}>
            <SVG className={styles.icon} src={item.icon || ''} />
            {item.name}
          </div>
        ) : (
          <div className={styles.line}></div>
        )
      )}
    </div>
  )
}

export default Header

这样都是无效的

如何解决该问题呢?

javascript 复制代码
    filter: invert(14%) sepia(97%) saturate(7483%) hue-rotate(0deg) brightness(91%) contrast(119%);

使用filter颜色滤镜

如何快速生成任意颜色的滤镜值

你可以使用这个在线工具生成对应颜色的滤镜代码:
CSS Filter Generator (codepen.io)

在这里面操作即可

相关推荐
剪刀石头布啊8 小时前
vue-react为何要虚拟dom
前端
剪刀石头布啊8 小时前
ahooks常用的一些库,我们使用一下
前端
剪刀石头布啊8 小时前
从git更新本地提交记录到更新已经推送到远端记录
前端
Flynt10 小时前
axios 被投毒半年后,我把 npm 的"安全防线"实测了一遍:最信任的 SHA512 是安慰剂
前端·npm·node.js
excel11 小时前
Base62 和 Base64 有什么区别?
前端
风骏时光牛马12 小时前
大模型底层架构与AI源码深度剖析
前端
掘金挖土13 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
中文呀16 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进16 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端