材质ui <icon>无法正确呈现

时间:2018-07-26 17:48:57

标签: javascript reactjs material-ui

我是React的新手,我正在使用material-ui来完成任务。

我遇到的问题是,即使按material-ui docs,图标也不会显示:

每个文档

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>
        );
    });
};

所有内容均可呈现良好的BUT图标,仅呈现文本。我已经尝试过使用显式图标声明它,并且它可以工作(例如<HomeIcon/>),但我需要从配置对象中动态生成它,所以我不能使用它...

任何帮助或解释将不胜感激 预先感谢

2 个答案:

答案 0 :(得分:1)

您可能忘记了将图标字体导入到index.html文件中。您需要添加以下样式表:

<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">

这在文档的Font Icons部分中进行了说明。请注意,HomeIcon是SVG图标,呈现svg元素而不是使用字体。

答案 1 :(得分:-1)

这对我有用

import AddCircleIcon from '@material-ui/icons/AddCircle';
<AddCircleIcon style={{ fontSize: 50 }} color="primary"></AddCircleIcon>