我有上面的图标导入
import { MdSettings } from "react-icons/md";
import { RiAccountPinCircleFill } from "react-icons/ri";
import { BsSunFill } from "react-icons/bs";下面是包含导入的数组
const Icons = ["MdSettings", "RiAccountPinCircleFill", "BsSunFill"];我想在这里绘制地图
<div className="topbar-links inline-flex">
<ul>*this is where I want it rendered*</ul>
</div>发布于 2022-07-20 06:03:51
首先,如果变量不是组件,则应避免使用PascalCase作为名称。因此您可以将Icons重命名为icons。
然后,您应该将直接导入的元素存储在数组中,而不仅仅是将它们的名称作为字符串存储,否则您将无法使用组件:
const icons = [MdSettings, RiAccountPinCircleFill, BsSunFill];最后,对于循环,您可以这样做:
<div className="topbar-links inline-flex">
<ul>
{icons.map((Icon, i) => (
<li key={i}>
<Icon />
</li>
))}
</ul>
</div>发布于 2022-07-20 06:09:37
如果图标是反应性组件,则可以将图标存储为
const Icons = [<MdSettings/>, <RiAccountPinCircleFill/>, <BsSunFill/>]然后你就可以把它们映射成
<div className="topbar-links inline-flex">
<ul>{Icons.map((icon, index) => <li key={index}>{icon}</li>}</ul>
</div>https://stackoverflow.com/questions/73046582
复制相似问题