首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入SVG作为react组件

导入SVG作为react组件
EN

Stack Overflow用户
提问于 2018-02-21 10:47:05
回答 2查看 7.4K关注 0票数 3

我正在导入一个svg作为一个组件,但是它在css类周围有Style标记,因此当我试图导入它时会抛出一个错误,如果我删除style标记中的css,它会加载svg,但显然缺少额外的样式设置。

如果可能的话,我希望避免将所有样式都移动到单独的.css文件中,如何将svg作为一个组件导入,但保留所有样式呢?

代码语言:javascript
复制
import React from 'react'

export const StoffFarbe = () =>
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
     viewBox="0 0 40 40">
   <style type="text/css">
    .st0{fill:none;stroke:#1D1D1B;stroke-width:3.2003;stroke-linejoin:round;stroke-miterlimit:10;}
    .st1{fill:none;stroke:#1D1D1B;stroke-width:1.6001;stroke-linejoin:round;stroke-miterlimit:10;}
</style>
<g>
    <path className="st0" d="M6.3,33c-1.4-1.4-2.4-3.8,0.2-6.4s7.4-4.8,7.4-4.8s0.8-3.8,0.2-6.6c1.6-1.6,10.8-10.8,10.8-10.8l10.2,10.2
        c0,0-9.2,9.2-10.8,10.8c-3.2-1.4-6.2,0-6.2,0s-2.8,5-5,7.4C10.5,35,7.7,34.5,6.3,33z"/>
</g>
<line className="st1" x1="15.7" y1="13.8" x2="25.5" y2="23.6"/>
<circle className="st1" cx="9.3" cy="29.8" r="0.4"/>
<path className="st1" d="M20.1,9.4c0,0-0.4,1.4,1.6,2.2s3.4-1.2,4,0.6s-1.6,4.2,1.4,5.2c3,0.8,3.8-0.8,4.2,0.4"/>
</svg>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-21 10:54:23

您可以导入样式表:

代码语言:javascript
复制
import './StoffFarbe.css';

CSS文件内部:

代码语言:javascript
复制
.StoffFarbe {
    // add styles
}

另一个选项是使用svg作为图像:

代码语言:javascript
复制
<img src="StoffFarbe.svg" class="yourCSSClass">

资料来源:

票数 1
EN

Stack Overflow用户

发布于 2019-05-03 14:13:09

如果您使用2.0,您现在可以这样做:

代码语言:javascript
复制
import { ReactComponent as YourSvg } from './your-svg.svg';

<div>
   <YourSvg />
</div>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48903963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档