【发布时间】:2019-05-08 20:40:18
【问题描述】:
我正在构建一个包含少量图标和标题的导航栏。
为了构建它,我使用了react-icons (https://www.npmjs.com/package/react-icons)。
所以,我在这里导入这些项目
import { FaMobileAlt, FaCreditCard, FaRegBuilding } from 'react-icons/fa';
我有一个 const 负责保存菜单项列表
const LEFT_MENU_ITEMS = [
{ key: 'devices', icon: FaMobileAlt, title: 'Devices' },
{ key: 'cards', icon: FaCreditCard, title: 'Cards' },
{ key: 'business', icon: FaRegBuilding, title: 'Business' },
];
正常的用法类似于<FaMobileAlt />,仅此而已,但在我的情况下,我正在尝试迭代这个常量来构建我的列表。
buildLeftMenuBar() {
if (!this.props.loggedIn) return null;
return (
<ul key="leftMenuBar" className="items">
{_.map(LEFT_MENU_ITEMS, itemDef => (
<li key={itemDef.key}>
<NavLink to={`/${itemDef.key}`}>
<div>
>>>>> {itemDef.icon} <<<<
</div>
<span>{itemDef.title}</span>
</NavLink>
</li>
))}
</ul>
);
}
我在渲染页面时遇到的错误是
函数作为 React 子级无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。
因此,每个图标都不会被渲染。我怎样才能让它按照同样的想法工作?
ps:这不仅仅是 3 个项目,我只是删除了一些以便更容易阅读问题,这就是我尝试迭代的原因。
【问题讨论】:
-
@BhojendraRauniyar 图标没有被渲染,只是用几个箭头指出了线>>
标签: javascript reactjs