Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在CRA应用程序中将SVG文件用作React组件_Reactjs_Material Ui - Fatal编程技术网

Reactjs 在CRA应用程序中将SVG文件用作React组件

Reactjs 在CRA应用程序中将SVG文件用作React组件,reactjs,material-ui,Reactjs,Material Ui,我试图导入一个svg文件,但作为一个react组件,但我看不到实际的图标。我希望看到一个主页图标,但我看到的只是一个黑色的填充图形 我尝试的 import {ReactComponent as Home} from '../assets/svgs/home.svg'; import {List, ListItem, ListItemIcon} from '@material-ui/core'; <List> {['Home', 'Video', 'Music', 'Sound

我试图导入一个svg文件,但作为一个react组件,但我看不到实际的图标。我希望看到一个主页图标,但我看到的只是一个黑色的填充图形

我尝试的

import {ReactComponent as Home} from '../assets/svgs/home.svg'; 
import {List, ListItem, ListItemIcon} from '@material-ui/core'; 

<List>
 {['Home', 'Video', 'Music', 'Sound', 'Painting', 'Images', 'Heritage', 'Fashion'].map((text, index) => (
          <ListItem button key={text}>
            <ListItemIcon>{index % 2 === 0 ? <Home/> : <MailIcon />}</ListItemIcon>
            <ListItemText primary={text} />
          </ListItem>
      ))}
<List/>

从“../assets/svgs/Home.svg”导入{ReactComponent as Home};
从“@material ui/core”导入{List,ListItem,ListItemIcon};
{['Home','Video','Music','Sound','Painting','Images','Heritage','Fashion'].map((文本,索引)=>(
{索引%2==0?:}
))}
我的SVG文件

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
 "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 512.000000 512.000000"
 preserveAspectRatio="xMidYMid meet" width="25px" height="25px">

<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M0 2560 l0 -2560 2560 0 2560 0 0 2560 0 2560 -2560 0 -2560 0 0
-2560z"/>
</g>
</svg>


我得到的


我做错了什么?非常感谢您的帮助。

我刚刚在这个网站上查看了您的SVG:

SVG本身已损坏,我建议您另找一个


如何使用:
从“../assets/svgs/Home.svg”导入主页
?@TasosBu,当我照你说的做时,我得到了这个错误:
InvalidCharacterError:未能在“文档”上执行“createElement”:提供的标记名(“/static/media/home.8cdaa428.svg”)不是有效的名称。
希望这能帮助你理解。哦,是的,你使用了CRA。看起来你导入它的方式应该是有效的。你能做Aydin作为答案发布的检查吗?我检查了路径并使用了Chrome开发工具,但一切看起来都很好。多亏了你们,你可能错过了任何其他内容,尽管路径是正确的。SVG坏了,它毁了一切。当我将PNG转换为SVG时,我尝试了另一个转换器,它给了我正确的SVG文件,我让它工作了。