react 封装svgIcon

import React from 'react';

const SvgIcon = ({ iconName, width = 24, height = 24, color = 'currentColor', ...props }) => {
  const icons = {
    // 在这里定义你的 SVG 图标,可以使用图标名称映射到相应的 SVG 路径
    heart: (
      <svg width="48" height="48" viewBox="0 0 48 48" fill="none"><path d="M44 9H4m38 20H6m28-10H14m20 20H14" stroke="#4E5969" strokeWidth="4" /></svg>
    ),

    // 添加其他图标...

  };

  const icon = icons[iconName] || null;

  return icon ? (
    <span
      role="img"
      aria-label={iconName}
      style={{ display: 'inline-block', width, height, color }}
      {...props}
    >
      {icon}
    </span>
  ) : null;
};

export default SvgIcon;

 css样式:

.svg-icon {

  display: inline-block;

  width: 1px;

  height: 1px;

  color: inherit;

  font-style: normal;

  vertical-align: -2px;

  outline: none;

  stroke: currentColor;

  fill: currentColor;

}

 使用:<SvgIcon iconName='heart'></SvgIcon>

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值