javascript - 材质ui无法正确渲染
问题描述
我是 react 新手,我正在使用 material-ui 来完成任务。
我遇到的问题是,即使根据material-ui 文档它应该可以工作,但图标不会显示:
每个文档
import Icon from '@material-ui/core/Icon';
...
<Icon className={classes.icon} color="action">
add_circle
</Icon>
我正在尝试使用以下方式获取导航项目:
import React from 'react';
import { NavLink } from 'react-router-dom'
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import Icon from '@material-ui/core/Icon';
import InboxIcon from '@material-ui/icons/Inbox';
import ListItem from '@material-ui/core/ListItem';
import ListItemIcon from '@material-ui/core/ListItemIcon';
import ListItemText from '@material-ui/core/ListItemText';
import _ from 'lodash';
const SideMenuItems = ({ menuItems }) => {
return _.map( menuItems ,( menuItem )=>{
const { text, link, icon } = menuItem;
return (
<NavLink to={link} key={link}>
<ListItem>
<ListItemIcon>
<Icon>add_circle</Icon>
</ListItemIcon>
<ListItemText inset primary={text} />
</ListItem>
</NavLink>
);
});
};
一切都呈现很好的但图标,它只呈现文本。我已经尝试过声明显式图标并且它有效(例如<HomeIcon/>
)但我需要它从配置对象动态生成所以我不能使用它......
任何帮助或解释将不胜感激提前谢谢
解决方案
您可能忘记在index.html
文件中导入图标字体。您需要添加以下样式表:
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
这在文档中的字体图标部分中进行了解释。请注意,这HomeIcon
是一个 SVG 图标并呈现svg
元素而不是使用字体。
推荐阅读
- scala - Union does not remove duplicate rows in spark data frame
- javascript - Click error on a clusterer within a Google Map
- ios - UIWebview 检查用户是否登录并返回 True 或 False
- c# - Emgu/OpenCV: Event for VideoCapture.QueryFrame() finished.
- c# - C#中的泛型类和继承
- ibm-cloud - 如何在应用程序模式下在 IBM CLOUD 上打开 tls 身份验证
- c# - 如何在 Ubuntu 容器中运行使用 MS Access 的可执行文件?
- google-cloud-dataflow - gcloud 数据流组件所需时间
- bash - 使用 bash 查找 PostgreSQL 数据库是否存在
- python - Multiprocessing with IMAP connection