打工很辛苦吧 2023-07-26 18:20 采纳率: 22.7%
浏览 8
已结题

我想封装一个Svgicon组件不知道怎么做

我使用react+vite+ts创建了一个项目,我想封装一个Svgicon组件不知道怎么做,我在src下创建了一个icons文件夹,里面存放我从阿里矢量图标库上下载的svg

<Svgicon name="xxx">

我想通过传入一个name属性就能展示对应名字的svg

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-26 20:32
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 以下回答由chatgpt基于相关博客总结生成:

      我可以帮助你封装Svgicon组件。首先,你需要安装React和react-dom库。

      然后,你可以按照以下步骤进行封装:

      1. 在icons文件夹中放置从阿里矢量图标库下载的SVG图标。确保每个图标都保存为单独的SVG文件。

      2. 在src目录下创建一个名为Svgicon.tsx的文件,用于编写Svgicon组件的代码。这个文件将包含Svgicon组件的所有逻辑和样式。

      import React from 'react';
      
      interface SvgiconProps {
        name: string;
      }
      
      const Svgicon: React.FC<SvgiconProps> = ({ name }) => {
        const svgPath = `./icons/${name}.svg`;
      
        return (
          <div>
            <img src={svgPath} alt={name} />
          </div>
        );
      };
      
      export default Svgicon;
      
      1. 在使用Svgicon组件的地方导入并使用它。
      import React from 'react';
      import Svgicon from './Svgicon';
      
      const App: React.FC = () => {
        return (
          <div>
            <Svgicon name="xxx" />
          </div>
        );
      };
      
      export default App;
      

      确保替换name属性的值为你想要展示的实际SVG图标的文件名,不要包括文件后缀。

      1. 运行你的React项目,你应该能够看到Svgicon组件展示了与传入的name属性对应的SVG图标。

      这就是如何在React项目中封装一个Svgicon组件的步骤。请注意,这只是一个简单的示例,你可以根据自己的需求对Svgicon组件进行进一步的扩展和样式设计。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月2日
  • 创建了问题 7月26日