我正在尝试运行以下代码:
"use strict";
var React = require('react');
var Router = require('react-router');
var Link = Router.Link;
var Material = require('material-ui');
var ThemeManager = new Material.Styles.ThemeManager();
var Colors = Material.Styles.Colors;
var dropdown = Material.Icons.NavigationArrowDropDown; //This icon cannot be found
var Home = React.createClass({
childContextTypes: {
muiTheme: React.PropTypes.object
},
getChildContext: function () {
return {
muiTheme: ThemeManager.getCurrentTheme()
};
},
componentWillMount: function () {
ThemeManager.setPalette({
accent1Color: Colors.cyan500
});
},
render: function () {
return (
<div>
<Material.AppBar title="Test" showMenuIconButton={false}>
</Material.AppBar>
<Material.List>
<Material.ListItem primaryText={"Queue"} leftIcon={<Material.Icons.NavigationChevronLeft/>} />
<Material.ListItem primaryText={"Log"} leftIcon={<Material.Icons.NavigationArrowDropDown/>} />
<Material.ListItem primaryText={"Settings"} />
</Material.List>
<Material.Paper>
<span>This is some text</span>
<Material.RaisedButton label="Super Secret Password" primary={true}/>
</Material.Paper>
</div>
);
}
});
module.exports = Home;
我已经包含了必要的包,如果我不包含,代码运行良好
Material.Icons.NavigationArrowDropDown;
我已经导航到 material-ui (0.11.1),并且该文件确实作为导出存在于以下路径中:
lib > svg-icons > Navigation > Arrow_drop_down.js 源代码如下:
'use strict';
var React = require('react/addons');
var PureRenderMixin = React.addons.PureRenderMixin;
var SvgIcon = require('../../svg-icon');
var NavigationArrowDropDown = React.createClass({
displayName: 'NavigationArrowDropDown',
mixins: [PureRenderMixin],
render: function render() {
return React.createElement(
SvgIcon,
this.props,
React.createElement('path', { d: 'M7 10l5 5 5-5z' })
);
}
});
module.exports = NavigationArrowDropDown;
但是,在编译和运行应用程序时,它找不到该项目并抱怨它不存在,但另一个项目
Material.Icons.NavigationChevronLeft
找到没有问题。这个文件(不包括我的路由器和 app.js)是我的整个项目。
由于这两个文件都存在于同一个文件夹中,我无法理解为什么找到了一个引用而没有找到另一个?
该错误发生在运行时并且 jsLint 没有捡起它。此外,当删除 listItem 图标时,我的页面会正确呈现。该问题似乎与该组件直接相关。
附加说明:我删除了 var 下拉列表,它只是为了演示如何从 Material UI 中找不到导出。
tl;dr:与另一个 Icon 类位于同一文件夹中的 Material UI Icon 类没有被拾取。为什么?