我有一个侧边栏组件,其列表项是在地图函数内部生成的(从 api 获取的电影流派)。我想在每种电影类型旁边都有一个不同的图标,但一直无法找到一种方法来为每次运行地图功能创建不同的图标。
我的想法是第一个:按照我希望它们显示的顺序制作一组我想显示的图标。
const icons = [
"AiOutlineHome ",
"FaUserNinja",
"GiSwordman",
"GiBabyFace",
"FaLaughBeam",
"GiPistolGun",
"GiPineTree",
"GiDramaMasks",
"GiFamilyHouse",
"GiElfEar",
"GiScrollUnfurled",
"GiScreaming",
"GiMusicalNotes",
"GiMagnifyingGlass",
"FaRegKissBeam",
"GiMaterialsScience",
"GiHalfDead",
"GiGreatWarTank",
"GiCowboyBoot",
];
然后在我的地图功能中为每个列表项生成一个不同的图标
{movieGenres.map((genre) => {
return (
<li key={genre.id} className="nav-text">
<button
className="genre-btn"
onClick={() => genreSelectionHandler(genre.id)}
>
*<GENERATE ICON HERE />*
<span className="nav-item-title">{genre.name}</span>
</button>
</li>
);
})}
是否可以务实地创建这样的组件?如果我想要不同的图标,我可以避免单独创建每个列表项。